Shell递归重命名很多文件

时间:2019-04-05 09:07:36

标签: linux bash shell file rename

我想使用shell脚本/命令重命名子目录中的许多文件,但是我尝试了不同的方法,但没有成功。

这是我所拥有的文件:

root/FOLDER1/media-125150-payasage151.jpg
root/FOLDER1/media-125165-payasage125.jpg
root/FOLDER2/media-1266165-payasage110.jpg
root/FOLDER2/media-1266165-portrait151.jpg

我想用“ paysage”代替每个“ payasage”

root/FOLDER1/media-125150-paysage151.jpg
root/FOLDER1/media-125165-paysage125.jpg
root/FOLDER2/media-1266165-paysage110.jpg
root/FOLDER2/media-1266165-portrait151.jpg

我用重命名命令甚至用mv方法尝试了RegExr ... 谢谢!

1 个答案:

答案 0 :(得分:-1)

尝试以下方式

for OLD in root/*/media-*-payasage*.jpg; do
  NEW=$(echo "$OLD" | sed 's/payasage/paysage/g')
  test "$OLD" != "$NEW" && mv "$OLD" "$NEW"
done