linuxサーバー上で数十の任意のファイルを正確に削除する必要があったので、備忘録として実行したコマンドを残しておきます。ファイルリストさえ正しいことが確認できれば、汎用的に利用できるかもしれません。ご参考になりましたら幸いです。
環境:
ls data/
A B C D
cat delete_list.txt
data/B
data/C
上記のdataディレクトリとファイルリストが存在するディレクトリにて下記を実行する。
1.ファイルリストに記載されているファイルのバックアップを取得する
tar cvfz delete_backup.tar.gz -T delete_list.txt
2.ファイルリストに記載されているファイルの存在有無を確認する
cat delete_list.txt | xargs -I % sh -c "ls -ltr %"
3.ファイルを削除する
cat delete_list.txt | xargs -I % sh -c "/bin/rm %"
4.ファイルが削除されているか確認する
cat delete_list.txt | xargs -I % sh -c "ls -ltr %"
ls: data/B: No such file or directory
ls: data/C: No such file or directory```