查找具有特定像素高度/宽度的图像并将其移动到另一个目录中

查找具有特定像素高度/宽度的图像并将其移动到另一个目录中

我想找到特定像素高度为 2220、宽度为 1080 的屏幕截图文件,并希望将它们移动到另一个文件夹中。我无法手动执行此操作,因为源是 100+k 左右的图像。

我找到了以下命令,但无法使其工作:

find /Users/myuser/Desktop/daten/JPG -name "*.jpg" -exec bash -c "sips -g pixelHeight -g pixelWidth {} | grep -E '2220‘ >/dev/null" \; -exec mv {} /Users/myuser/Desktop/screenshots \; 

错误信息:

bash: -c: line 0: unexpected EOF while looking for matching `''
bash: -c: line 1: syntax error: unexpected end of file

感谢您的帮助。

更新:修复了命令并将文件夹名称中的空格删除为:

find /Users/myuser/Desktop/daten/JPG8  -name "*.jpg" -exec bash -c "sips -g pixelHeight -g pixelWidth {} | grep '2220' >/dev/null" \; -exec mv {} /Users/myuser/Desktop/screenshots \; 

..但仍然无法正常工作 - 没有文件被移动。

答案1

只是为了结束这个问题:我已经设法使用以下命令移动并最终删除所有屏幕截图:

find ./JPG* -name "*.jpg" -exec bash -c "sudo exiftool -csv -s -ImageSize {} | grep > /dev/null 'x2220'" \; -exec mv {} ./screenshots/ \;

相关内容