我想使用带有管道的shell命令行来重命名文件
示例:将x111.png
重命名为my_x111.png
(对于每个文件,添加前缀' my _')
我知道mv xxx bbb
是将xxx重命名为bbb的最佳方法,但是如何在shell中编写命令?
答案 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。