自身のパスを基準としたファイルパスが満載のファイルがあります:
./Talent/152/Resume/a file name.pdf
./Talent/153/Resume/some file name.pdf
./Talent/154/Resume/yet another file name.pdf
... and so on ...
このファイルの各行を調べて削除するには、適切なシェル コマンドは何でしょうか?
答え1
xargs -d '\n' rm < listoffiles.txt
答え2
xargs -I{} --arg-file=file rm "{}"
または
xargs -I{} -a file rm "{}"
引用符はスペースを含むファイル名を保護します。
答え3
Bash シェルの場合は、次のように実行できます。
find ./Talent/*/Resume/* -exec rm {} \;
または、7 日より古いファイルを削除する場合は、次のように -mtime パラメータを追加します。
find ./Talent/*/Resume/* -mtime +7 -exec rm {} \;