可能重复:
在unix中一次重命名多个文件
我想使用正则表达式重命名文件夹中的所有文件(在名称末尾添加名称)并移动到另一个文件夹.
我认为它应该是这样的:
mv -v ./images/*.png ./test/*test.png
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
谁能建议我一个解决方案?
kib*_*zer 80
如果您使用的是Linux,请检查特殊rename命令,即使用正则表达式重命名.
rename 's/^images\/(.+)/test\/$1.png/s' images/*.png
Run Code Online (Sandbox Code Playgroud)
否则,像catwalk建议的那样在文件名上写一个bash循环.
cat*_*alk 55
试试这个:
for x in *.png;do mv $x test/${x%.png}test.png;done
Run Code Online (Sandbox Code Playgroud)
Gre*_*con 43
$ for old in ./images*.png; do
new=$(echo $old | sed -e 's/\.png$/test.png/')
mv -v "$old" "$new"
done
Run Code Online (Sandbox Code Playgroud)