BASH:处理多个文件和目录

And*_*ner 3 bash

我有大约 15 个 100 多个目录,特别是使用伪代码你怎么能:

rename * *suffix  
rename * prefix*  
rename * CAPITALIZE*  
Run Code Online (Sandbox Code Playgroud)

但是,将不胜感激特定于处理多个文件和目录的教程的提示或链接。

qua*_*ote 5

许多 linux/unix 系统带有允许通过 perl 表达式重命名的renameorrename.plprenameperl 脚本。在 Debian 系统上,它是随perl包一起安装的。

$ rename
Usage: rename [-v] [-n] [-f] perlexpr [filenames]
Run Code Online (Sandbox Code Playgroud)

魔法发生在perlexpr论证中。这本质上是一小段 perl 代码,它将对每个文件名进行操作。您不需要提供任何循环,只需编写将输入转换为所需输出的代码即可。(一定要引用表达式;除非绝对必要,否则我使用单引号来防止 shell 扩展。)

因此,对于您的示例:

查看 O'Reilly Unix Power Tools书中的更多示例。