GNU/Linux >> Linux の 問題 >  >> Linux

数値ソートでpdfファイルをマージする

$() を使用してコマンドの結果を埋め込むことができます 、したがって、次のことができます

$ pdfunite $(ls -v *.pdf) output.pdf

または

$ pdfunite $(ls *.pdf | sort -n) output.pdf

ただし、ファイル名に空白などの特殊文字が含まれている場合、これは機能しないことに注意してください。

この場合、次のことができます:

ls -v *.txt | bash -c 'IFS=$'"'"'\n'"'"' read -d "" -ra x;pdfunite "${x[@]}" output.pdf'

少し複雑に見えますが、

を組み合わせただけです。
  • Bash:タブ区切りのファイル行を配列に読み込む
  • 空白を含む引数リストを作成する
  • 一重引用符で囲まれた文字列内で一重引用符をエスケープする方法

xargs は使用できないことに注意してください pdfunite以降 引数の途中に入力 pdf が必要です。 readarray の使用を避けました 古いバージョンの bash ではサポートされていないため、IFS=.. read -ra .. の代わりに使用できます。 新しい bash がある場合 .


Linux
  1. findおよびduコマンドを使用してLinuxで大きなファイルを検索する方法

  2. PDFファイルをgrepする方法は?

  3. ディレクトリ付きの猫ファイル?

  1. ディレクトリ内のファイルの名前を変更しますか?

  2. rsyncを使用してファイルをバックアップします

  3. bashでファイルをファイルタイプ別にフォルダにソートする方法(「file」コマンドを使用)?

  1. 最大のファイルまたはディレクトリを見つけますか?

  2. PDF ファイルの最適化 (Ghostscript などを使用)

  3. Sort --parallel は並列化されていません