代码之家  ›  专栏  ›  技术社区  ›  Andrew

bash循环中的错误文件名[重复]

  •  0
  • Andrew  · 技术社区  · 7 年前

    意图

    我试图通过一个目录循环,并将所有9000左右的pdf文件转换为png

    for i in *.pdf; do
        pdftoppm -f 1 -l 2 -png $i ${i%.pdf*}
    done
    

    问题

    这个回路只能处理大约500个病例。当我在一些未转换的pdf文件上手动调用pdftoppm时,它可以工作。

    w7hnp - FOO BAR 8-18-12 NOT FINAL DOC.pdf . 当我使用制表符完成手动调用 pdftoppm 文件名包含转义字符: w7hnp\ -\ FOO\ BAR\ 8-18-12\ NOT\ FINAL\ DOC.pdf 命令很有效。

    有没有办法确保这些空间被正确地逃走?

    1 回复  |  直到 7 年前
        1
  •  1
  •   A.H.    7 年前

    您应该引用如下变量: "$i" "${i%.pdf*}"

    推荐文章