我有一个文件,其中包含一个列表的目标文件,我想删除(由换行符分隔)。例如,list.txt:
1/abc.txt 1/2/bcd.txt 3/efg.txt ...
如何编写一行程序来删除这些文件?我尝试了cat list.txt|xargs -0 rm,但得到了:File name too long。
cat list.txt|xargs -0 rm
:File name too long
7hiiyaii1#
最后通过添加tr '\n' '\0'来解决,因此换行符可以转换为NUL,xargs -0可以作为分隔符。one-liner:cat list.txt|tr '\n' '\0'|xargs -0 rm
tr '\n' '\0'
NUL
xargs -0
cat list.txt|tr '\n' '\0'|xargs -0 rm
1条答案
按热度按时间7hiiyaii1#
最后通过添加
tr '\n' '\0'
来解决,因此换行符可以转换为NUL
,xargs -0
可以作为分隔符。one-liner:
cat list.txt|tr '\n' '\0'|xargs -0 rm