
スクリプトを実行して、zipアーカイブ内の特定のファイルを削除する必要がある状況があります。以下は一般的な設定です。
/mnt/directory
/mnt/directory/Folder1
/mnt/directory/Folder1/file1.zip
/mnt/directory/Folder1/file2.zip
/mnt/directory/Folder2
/mnt/directory/Folder2/Documents
/mnt/directory/Folder2/file1.zip
/mnt/directory/Folder2/file2.zip
そして、各 zip ファイル内には、多数のファイルとディレクトリがあります。ディレクトリの深さは 20 を超える可能性があるので、何をするにしても、ファイルを再帰的に調べるようにする必要があります。
私はzipinfo -1 /mnt/directory/Folder1/file1.zip '.txt'* コマンドは、file1.zip 内のすべての .txt ファイルを検索しますが、zipinfo コマンドにワイルドカードを使用してすべての zip ファイルを検索することはできません。また、事後にそれらを削除できるようにする必要があります。zip -d /mnt/directory/Folder1/file1.zip ファイル名.txtこれは、フォルダー内にない限り、1 つのファイルのみに対して正常に機能します。したがって、私の状況には理想的ではありません。
必要に応じて解凍できますが、一部は非常に大きいため、いずれにしても再度圧縮する必要があるため、解凍しないことをお勧めします。
ありがとう。
答え1
モジュールアーカイブ::Zip必要なことはできそうです。