我想使用正则表达式重命名文件夹中的所有文件(在名称末尾添加名称)并移至另一个文件夹。
我认为,它应该是这样的:
mv -v ./images/*.png ./test/*test.png
但它不起作用。
有人能建议我解决方案吗?
答案 0 :(得分:73)
如果您使用的是Linux,请检查特殊的rename
命令,该命令就是这样 - 使用正则表达式重命名。
rename 's/^images\/(.+)/test\/$1.png/s' images/*.png
否则,在文件名上写一个bash循环为catwalk suggested。
答案 1 :(得分:52)
试试这个:
for x in *.png;do mv $x test/${x%.png}test.png;done
答案 2 :(得分:41)
$ for old in ./images*.png; do
new=$(echo $old | sed -e 's/\.png$/test.png/')
mv -v "$old" "$new"
done
答案 3 :(得分:5)
另一个解决方案是一个名为“mmv”的工具:mmv“./ images / *。png”“。/ test /#1test.png”