3

以下を実行して、すべてのpdfからテキストを抽出しようとしています

find *.pdf | awk '{system("pdftotext "$0)}'

しかし、クレイジーな人がファイル名にスペースを入れてしまったのですが、どうすればこれをスムーズに処理できますか?

4

1 に答える 1

2

これにおける awk の役割は何ですか? findおそらく、物事自体を実行させる必要があります。

find . -name \*.pdf -exec /path/to/pdftotext {} \;

または、ファイル名が標準出力として安全であると仮定することに本当にこだわっている場合(単にこの質問をするだけではないことが証明されています)、ファイル名を引用符で囲みます。これはうまくいきます:

find . -name \*.pdf -print | awk '{cmd=sprintf("pdftotext \"%s\"", $0);system(cmd);}'
于 2012-06-18T18:19:49.200 に答える