我正在寻找一种方法来自动重命名具有错误文件扩展名的所有图像。到目前为止,我至少找到了如何获取所有这些文件的列表:
find /media/folder/ -name *.jpg -exec file {} \; | grep 'PNG\|GIF' > foobar.txt
find /media/folder/ -name *.png -exec file {} \; | grep 'JPEG\|GIF' >> foobar.txt
find /media/folder/ -name *.gif -exec file {} \; | grep 'JPEG\|PNG' >> foobar.txt
但是,我也想自动重命名。我尝试过类似的事情
find /media/folder/ -name *.jpg -exec file {} \; | grep -l PNG | rename s/.jpg/.png/
但在这种情况下grep -l
,或者grep -lH
不要像我想的那样只列出文件名。