ファイルを別のディレクトリに出力する方法(Poppler - pdftotext)

ファイルを別のディレクトリに出力する方法(Poppler - pdftotext)

*.txt文書に変換するためにPopplerを使用している多くのPDFを含むディレクトリがありますpdftotext。すべてのファイルを変換するには、次のコマンドがあります。

for f in *.pdf; do pdftotext $f; done

PDFは外部記憶装置にあるため、余分なスペースは必要ありません。出力を別のディレクトリにリダイレクトするにはどうすればよいですか?つまり、PDFが変換されるたびにPDFと同じディレクトリに書き込まれるのではなく、別の場所に書き込まれます。

答え1

これはdon_crisstiによって提案されたソリューションであり、UnixとLinuxに初めて接する人々のために説明しようとしました。この概要は初心者が作成したものですので、自由に編集してください。

for f in *.pdf; do pdftotext "$f" "/path/to/some/dir/${f%.*}.txt"; done

それでは、各コマンドを確認してみましょう。これは、現在の作業ディレクトリ内のすべてのファイルを繰り返す標準のforループです。for f in *.pdf。このコマンドはfインデックスとして使用されます。次のコマンドはPDFをテキストに変換します。これはユーザーがインストールしたと仮定します。poppler:

pdftotext "$f" "/path/to/some/dir/${f%.*}.txt"

"$f"入力を保存するために使用される名前PDFファイルを作成し、"/path/to/some/dir/${f%.*}.txt"出力パスを指定します。txtファイル、つまりターゲットディレクトリ/path/to/some/dir/と出力ファイル名${f%.*}.txt、出力ファイル名は、デフォルトでファイル名から拡張子が削除された入力ファイル名("$f")です。.pdfパラメータの置換そして.txtサフィックスを追加します。

関連情報