Linux/SSH 命令删除文件中找到的每个文件路径

Linux/SSH 命令删除文件中找到的每个文件路径

我有一个文件,其中包含相对于其自身路径的文件路径:

./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 {} \;

相关内容