1

我想使用带有管道的 shell 命令行来重命名文件。
示例:重命名x111.pngmy_x111.png(为每个文件添加前缀“my_”)

我知道mv xxx bbb将 xxx 重命名为 bbb 是最好的方法,但是如何在 shell 中编写命令?

4

3 回答 3

1
find -maxdepth 1 -type f | awk '{printf "mv %s my_%s\n", $2, $2}' FS=/ | sh

例子

mv 自述文件 my_README
mv tree.pl my_tree.pl
mv youtube.sh my_youtube.sh
于 2013-03-01T06:44:49.100 回答
0
ls -1 *.png | nawk '{p=$0;$0="my_"$0;;system("mv "p" "$0); }' 

参考这里

于 2013-06-19T07:20:41.170 回答
0
rename 's/([^my_])(.*)/my_$1/g' *

此命令会在所有文件名之前添加my_不包括已经以 . 开头的文件名my_

这确实取决于您的版本rename,这需要 perl-version 而不是 util-linux-ng 版本。

于 2013-06-19T07:53:31.337 回答