同じ名前のファイルをマージするシェルスクリプト

同じ名前のファイルをマージするシェルスクリプト

次のファイルディレクトリがあります。

file.1111111_1.pdf
file.1111111_2.pdf
file.2222222_1.pdf
file.2222222_2.pdf
file.1234567_1.pdf
file.1234567_2.pdf
file.aaaaaaa_1.pdf
file.aaaaaaa_2.pdf
file.abcdefg_1.pdf
file.abcdefg_2.pdf

同じファイル名の最初の7桁を同じディレクトリまたはサブディレクトリの新しいファイルにマージするにはどうすればよいですか?次のようにしてください。

file.1111111.pdf
file.2222222.pdf
file.1234567.pdf
file.aaaaaaa.pdf
file.abcdefg.pdf

ベストアンサー1

PDFファイルをマージするにはいくつかのツールがあり、そのうちの1つはですpdfunite。このツールを使用して必要なタスクを実行する簡単な1行のコードは次のとおりです。

for file in file.*_*.pdf; do [[ -e ${file%_*}.pdf ]] && \
    continue || pdfunite ${file%_*}_*.pdf ${file%_*}.pdf; done

私はここで使います。パラメータ拡張メカニズム ${file%_*}一致するファイル名からサフィックスパターンを削除し、出力ファイルに_*します。${file%_*}.pdf

おすすめ記事