【问题标题】:SIPS Image ManipulationSIPS 图像处理
【发布时间】:2013-01-29 17:48:58
【问题描述】:

我正在尝试使用以下命令在当前目录中查找所有 PDF(不是递归的) - 但是我认为它不喜欢 --out 上的“{}”。

find . -iname "*.pdf" -maxdepth 1 -exec sips -s format jpeg --resampleHeightWidth 129 100 '{}' --out '{}'.jpg \;

当我指定名称 --out test.jpg 时,与 -print 和 sips 一起使用时的查找工作有效。有什么办法可以使这项工作?还是我应该尝试 xargs?为了简单起见,我真的不想使用循环...有什么想法吗?

更新: 我尝试使用 xargs - 但再次收到错误 out_dir_not_found。

find . -iname "*.pdf" -maxdepth 1 -print0 | xargs -0 -I % sips -s format jpeg --resampleHeightWidth 129 100 % --out "%.jpg"


mymbpro:pdfs dh$ find . -iname "*.pdf" -maxdepth 1 -print0 | xargs -0 -I % sips -s format jpeg --resampleHeightWidth 129 100 % --out "%.jpg"
Error 10: out_dir_not_found /Users/darenhunter/Desktop/pdfs/ATTENTION.pdf.jpg
Try 'sips --help' for help using this tool
Error 10: out_dir_not_found /Users/darenhunter/Desktop/pdfs/DisNCLB119.pdf.jpg
Try 'sips --help' for help using this tool
Error 10: out_dir_not_found /Users/darenhunter/Desktop/pdfs/services2012.pdf.jpg
Try 'sips --help' for help using this tool
Error 10: out_dir_not_found /Users/darenhunter/Desktop/pdfs/Fall2011.pdf.jpg
Try 'sips --help' for help using this tool

【问题讨论】:

  • 尝试您原来的 find 命令,但需要回显:-exec echo sips ...。当您在提示符下运行它们时,它输出的命令是否有效?它是否要求提供任何信息?

标签: bash terminal find exec sips


【解决方案1】:

如果您将执行多个结果,则通过管道传递 结果到xargs 命令。 xargs 更现代 实现,并以更智能的方式处理长列表。这 print0 选项可以与此一起使用。

以下命令将确保传递带有空格的文件名 到执行的 COMMAND 而不被 shell 拆分。它看起来 乍一看很复杂,但被广泛使用。

find . -print0 | xargs -0 COMMAND

ref

【讨论】:

  • 不 - 只是 OS X 上的终端。
  • 如何在命令中引用文件名?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-12
  • 1970-01-01
  • 2011-04-22
  • 1970-01-01
相关资源
最近更新 更多