Eri*_*lho 34
使用xargs
:
xargs rm < file # or
xargs -a file rm
Run Code Online (Sandbox Code Playgroud)
但是如果文件名/路径包含应该转义的字符,那将不起作用。
如果您的文件名没有换行符,您可以执行以下操作:
tr '\n' '\0' < file | xargs -0 rm # or
xargs -a file -I{} rm {}
Run Code Online (Sandbox Code Playgroud)
或者,您可以创建以下脚本:
xargs rm < file # or
xargs -a file rm
Run Code Online (Sandbox Code Playgroud)
另存为/usr/local/bin/delete-from
,授予执行权限:
sudo chmod +x /usr/local/bin/delete-from
Run Code Online (Sandbox Code Playgroud)
然后运行它:
delete-from /path/to/file/with/list/of/files
Run Code Online (Sandbox Code Playgroud)
ter*_*don 21
这是一种可以处理带有空格、反斜杠和其他奇怪字符的文件名的方法:
while read -r file; do rm -- "$file"; done < list.txt
Run Code Online (Sandbox Code Playgroud)
这将读取 的每一行list.txt
,将其另存为$file
并rm
在其上运行。的-r
确保反斜杠字面上读(使得\t
相匹配的\
和t
,而不是一个TAB)。将--
确保它也处理文件名开头-
。
你也可以在 Perl 中做到这一点:
perl -lne '$k{$_}++; END{unlink for keys(%k)}' list.txt
Run Code Online (Sandbox Code Playgroud)
这会将每个文件名读%k
入哈希,然后用于unlink
删除每个文件名。
Avi*_*Raj 10
通过蟒蛇。
import sys
import os
fil = sys.argv[1]
with open(fil) as f:
for line in f:
os.remove(line.rstrip('\n'))
Run Code Online (Sandbox Code Playgroud)
将上述脚本保存在名为 like 的文件中script.py
,然后通过在终端上触发以下命令来执行脚本。
python3 script.py file
Run Code Online (Sandbox Code Playgroud)
file
是一个输入文件,其中存储了您实际要删除的文件的路径。