法的電子情報開示システムから大量にエクスポートされた数百のフォルダpdf
とファイルがあります。xls(x)
これらのエクスポートのファイル名はbates#に対応します(たとえば、、、ABCD_00000001.pdf
... ABCD_00000002.pdf
、)ABCD_00002000.pdf
。pdf
すべて xls(x)
ファイル - どちらもまったく同じファイル名を持ちます。たとえば、ABCD_00000005.xlsx
ediscoveryシステムで生成されたxlsxファイルであり、ABCD_00000005.pdf
一括エクスポートで生成された無関係の空のpdfファイルです。
これらの外部.pdfファイルは、一括エクスポートを実行している人のユーザーエラーが原因で発生する可能性がありますが、通常、プロセスのこの側面を制御することはできません。したがって、誰かが手動で確認することを強制することなく、これらの無関係な.pdfを削除する比較的簡単な方法があるかどうか疑問に思います。
答え1
基本名を抽出するには、パラメータ拡張を使用してPDFファイルを繰り返します。
#!/bin/bash
for pdf in *.pdf ; do
basename=${pdf%.pdf}
if [[ -f $basename.xls || -f $basename.xlsx ]] ; then
rm "$pdf"
fi
done
修正する:私のロジックは逆になっているので、今修正する必要があります。
答え2
.xls(x) ファイルを繰り返し、一致する PDF ファイルを削除します。
for xls in *.xls* ; do
/bin/rm -f "${xls%.xls*}"".pdf"
done
一致するPDFがなくても害はありません。