如何使用linux shell管道重命名文件?

时间:2013-03-01 06:11:58

标签: shell

我想使用带有管道的shell命令行来重命名文件 示例:将x111.png重命名为my_x111.png(对于每个文件,添加前缀' my _')

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

3 个答案:

答案 0 :(得分:1)

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

实施例

mv README my_README
mv tree.pl my_tree.pl
mv youtube.sh my_youtube.sh

答案 1 :(得分:0)

ls -1 *.png | nawk '{p=$0;$0="my_"$0;;system("mv "p" "$0); }' 

参考here

答案 2 :(得分:0)

rename 's/([^my_])(.*)/my_$1/g' *

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

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