Jon*_*lin 12
如果每行有一个文件,一种方法是:
tr '\n' '\0' < list_of_files_to_be_deleted.txt | xargs -0 -r rm --
Run Code Online (Sandbox Code Playgroud)
文件列表作为tr命令的输入,该命令将文件分隔符从换行符更改为空字节,该xargs命令读取输入时由空字节分隔的文件,并启动 rm 命令,并将文件附加为参数。
上面的答案很好,因为它不遗余力地处理带有空格和“奇怪字符”的文件名。但最简单的方法,如果文件名是合理的,就是(警告,bashism!):
rm $(< /the/file/with/names)
Run Code Online (Sandbox Code Playgroud)
对于常规外壳:
rm `cat /the/file/with/names`
Run Code Online (Sandbox Code Playgroud)