我有一个文件,其中包含相对于其自身路径的文件路径:
./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 ...
哪一个 shell 命令适合用于检查此文件的每一行并将其删除?
答案1
xargs -d '\n' rm < listoffiles.txt
答案2
xargs -I{} --arg-file=file rm "{}"
或者
xargs -I{} -a file rm "{}"
引号保护带有空格的文件名。
答案3
如果你在 Bash shell 中,你可以执行以下操作:
find ./Talent/*/Resume/* -exec rm {} \;
或者如果你想删除超过 7 天的文件,你可以添加 -mtime 参数,如下所示:
find ./Talent/*/Resume/* -mtime +7 -exec rm {} \;