Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在尝试运行以下命令从所有 pdf 中提取文本
find *.pdf | awk '{system("pdftotext "$0)}'
但是该死的一些疯狂的人在文件名中添加了空格,我该如何顺利处理呢?
awk 在其中的作用是什么?也许你应该让find事情自己执行。
find
find . -name \*.pdf -exec /path/to/pdftotext {} \;
或者,如果您真的坚持假设文件名作为标准输出可以安全地找到(您已经证明它们不仅仅是通过提出这个问题),那么将文件名放在引号中。这将起作用:
find . -name \*.pdf -print | awk '{cmd=sprintf("pdftotext \"%s\"", $0);system(cmd);}'