$()
を使用してコマンドの結果を埋め込むことができます 、したがって、次のことができます
$ 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
がある場合 .