linux – Unix:如何删除文件中列出的文件

我有一个长文本文件与我想删除的文件掩码列表

例:

/tmp/aaa.jpg
/var/www1/*
/var/www/qwerty.php

我需要删除它们。试图rm`cat 1.txt`,它说列表太长。

找到这个命令,但是当我从列表中检查文件夹时,其中一些仍然有文件
xargs rm <1.txt手动rm调用从这些文件夹中删除文件,因此没有权限问题。

最佳答案
这不是很有效率,但如果你需要glob模式(如/ var / www / *)

for f in $(cat 1.txt) ; do 
  rm "$f"
done

如果你没有任何模式,并确保你的文件中的路径不包含空格或其他奇怪的事情,你可以使用xargs像这样:

xargs rm < 1.txt

转载注明原文:linux – Unix:如何删除文件中列出的文件 - 代码日志