我想找到特定像素高度为 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/ \;