如何递归地重命名图像/文件?例如:
folder
- subfolder1
- a-copy.jpg
- subfolder2
- b-copy.jpg
- subfolder3
- c-copy.jpg
我想得到:
folder
- subfolder1
- a-thumb.jpg
- subfolder2
- b-thumb.jpg
- subfolder3
- c-thumb.jpg
我试过:
for i in $(find . -iname '*.jpg') ; do rename 's/-copy/-thumb/' *.jpg; done
当然不行!任何想法?
使用
rename
,首先检查-n
是否进行空运行,如下所示:...如果对命名输出感到满意,请删除
-n
并再次运行它以进行实际的重命名。或在循环中,首先检查
echo
包含,如下所示(从包含该目录的父目录中运行,或者在下面folder
提供/full/path/to/folder/*/*.jpg
):...如果对命名输出感到满意,请删除
echo
并再次运行它,如下所示:...进行实际的重命名。
要包含其他文件扩展名(区分大小写),请将它们添加到大括号扩展中,例如
folder/*/*.{jpg,JPG,png,PNG}
等。