在一个目录中,我有一堆*.html文件。我想将它们全部重命名为*.txt
*.html
*.txt
我怎样才能做到这一点?我使用 bash shell。
以下将做并且不需要系统拥有该rename程序(尽管您通常会在系统上拥有它):
rename
for file in *.html; do mv "$file" "$(basename "$file" .html).txt" done
编辑: 正如评论中所指出的,这不适用于没有正确引用的文件名中包含空格的文件名(现在在上面添加)。当纯粹在您自己的文件上工作时,您知道文件名中没有空格,这将起作用,但是每当您编写可能在以后重用的内容时,请不要跳过正确的引用。