在一个目录中,我有一些*.html文件。我想把它们都重命名为*.txt

我该怎么做呢?我使用bash shell。


当前回答

你可以使用一个专为批量重命名文件而设计的工具,例如renamer。

重命名当前文件夹下的所有文件扩展名。

$ renamer --find ".html" --replace ".txt" --dry-run * 

这里有更多的用法示例。

其他回答

在Mac上……

如果你没有安装rename: brew Install rename 重命名-S .html .txt *.html

最简单的方法是使用重命名。ul它出现在大多数Linux发行版中

重命名。ul -o -v [oldFileExtension] [newFileExtension][搜索要应用的文件的表达式]

rename.ul -o -v .oldext .newext *.oldext

选项:

-o:不覆盖预先存在的. newnext

- v:详细

-n:演练

重命名当前目录和子目录下所有文件的扩展名,不需要任何其他包(仅使用shell脚本):

在当前目录下创建shell脚本rename.sh,代码如下: #!/bin/bash 在$(查找。- name“* 1美元”);做 Mv "$file" "${file%$1}$2" 完成 通过./rename.sh .old .new运行它。 例如:./rename.sh .html .txt

这是我用来重命名。edge文件为。blade.php

for file in *.edge; do     mv "$file" "$(basename "$file" .edge).blade.php"; done

很有魅力。

这是我发现的在OSX和Linux上工作的最灵活的解决方案,它也可以很好地与git一起工作!

找到。-name "*.js" -exec bash -c 'mv "$1" "${1%.js}"Tsx ' - '{}' \;

对于git:

找到。-name“* . js - c“git bash -exec mv“1美元${1%。js的”。tsx“-”{}“\”