ファイル名に基づいてマージする必要がある数千の PDF があります。
次のような名前:
Lastname, Firstname_12345.pdf
上書きまたは追加する代わりに、次のような追加のページがある場合、当社のソフトウェアは数値/日時を PDF に追加します。
Lastname, Firstname_12345_201305160953344627.pdf
2 番目 (または 3 番目) の pdf を持たないすべてのものについては、スクリプトに触れる必要はありません。しかし、倍数を持つすべてのものについて、それらを新しいファイルにマージする必要があります*_merged.pdf
か? そして原本は削除。
私はこれに最善を尽くしました。これが私が今まで持っているものです。
#! /bin/bash
# list all pdfs to show shortest name first
LIST=$(ls -r *.pdf)
for x in "$LIST"
# Remove .pdf extension. merge pdfs. delete originals.
do
y=${x%%.*}
pdftk "$y"*.pdf cat output "$y"_merged.pdf
find "$y"*.pdf -type f ! -iname "*_merged.pdf" -delete
done
このスクリプトはある程度機能します。オリジナルをマージして削除しますが、何も追加する必要のないものをスキップするものは何もありません。複数のテストファイルを含むフォルダーで実行すると、1 つのファイルの後で停止します。誰かが私を正しい方向に向けることができますか?