前端之家收集整理的这篇文章主要介绍了
Bash:对FIND的结果执行命令,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图调整使用FIND命令找到的所有
文件(它们是目录及其子目录中的所有
文件).我尝试了很多选项但每次都遇到不同的
错误.这是我的最后一次尝试:
find /my/folder/ -name '*jpg' -exec 'mogrify -resize 900">"{}' \;
我尝试了很多其他但无济于事.出了什么问题?
我不喜欢exec on find,它有点古老而且不可预测,特别是当你把所有引号都给它:)
尝试使用xargs,它应该表现得更加文明
find / my / folder / -name’* jpg’-print0 | xargs -0 -J%“mogrify -resize 900>%”
这里有不同的东西
-print0 on find在每个文件名后添加一个NULL字符作为分隔符
在xargs
-0表示输入由NULL char分隔-J%表示%应该被输入中的内容替换(在这种情况下为文件名)