📅  最后修改于: 2023-12-03 14:58:10.859000             🧑  作者: Mango
在 Mac 终端中使用 Shell 或 Bash 脚本可以方便地批量重命名多个文件。本文将介绍如何使用终端命令来实现这个功能。请注意,以下示例代码均为 Shell/Bash 语法。
mv
命令用于移动文件或文件夹,也可以用来重命名文件。下面是一个使用 mv
命令批量重命名文件的示例:
for file in *.txt; do
mv "$file" "new_$file"
done
以上命令通过 for
循环遍历当前目录下的所有以 .txt
结尾的文件。对于每个文件,使用 mv
命令将其重命名为 "new_"
作为前缀的新文件名。
rename
命令可以批量重命名文件。在 Mac 终端中,默认情况下没有安装 rename
命令,但可以通过安装 rename
工具来获得该功能。可以使用 brew
包管理器进行安装:
brew install rename
安装完成后,可以使用 rename
命令来批量重命名文件。以下示例将所有以 .txt
结尾的文件在文件名开头添加 "new_"
:
rename 's/^/new_/' *.txt
上述命令中,'s/^/new_/'
是正则表达式模式,表示将行首(^
)替换为 "new_"
。
sed
命令是一个流编辑器,可以用于对文本数据进行替换操作。通过组合 sed
命令和 Shell 的循环语句,也可以实现批量重命名文件的功能。
以下示例将所有以 .txt
结尾的文件在文件名开头添加 "new_"
:
for file in *.txt; do
new_file=$(echo "$file" | sed 's/^/new_/')
mv "$file" "$new_file"
done
在每次循环迭代中,sed
命令用于修改文件名,并将新文件名保存到 new_file
变量中,然后使用 mv
命令进行重命名操作。
如果你只想批量更改文件的扩展名而不改变文件名的其他部分,可以使用 rename
或 mmv
工具来实现。
rename
工具使用示例:
rename 's/\.txt$/.newext/' *.txt
mmv
工具使用示例:
mmv '*.txt' '#1.newext'
上述命令将所有以 .txt
结尾的文件的扩展名更改为 .newext
。
以上是在 Mac 终端中使用 Shell/Bash 脚本实现批量重命名多个文件的几种方法。根据实际情况选择适合自己的方法来完成文件重命名操作。