如何在 Bash Shell 中将字符串附加到文件名?

Ans*_*son 5 unix script bash rename

所以我应该找到给定目录中所有带有 .C 或 cc 冲浪修复的文件,并将它们的名称更改为 .C.blah 或 .cc.blah

有命令可以这样做吗?

或者我应该用命令 find 来实现这个吗?

Pau*_*aul 6

有几种方法,具体取决于 *nix 上可用的内容。

有两种不同的rename命令,一种通过 perl 提供,一种作为标准 utils 的一部分。

Perl 版本:

rename 's/(\.cc$|\.C$)/$1.blah/' *.cc *.C
Run Code Online (Sandbox Code Playgroud)

utils 版本 - 你可以用一行来做到这一点:

rename .C .C.blah *.C
rename .cc .cc.blah *.cc
Run Code Online (Sandbox Code Playgroud)

for循环:

for i in *.C *.cc ; do mv $i $i.blah ; done
Run Code Online (Sandbox Code Playgroud)