如何删除-20
当前目录中包含文件名的所有文件?
我有
ls | grep "-20" | rm -rf
但那不管用。有想法吗?
谢谢。
答案1
rm -- *-20*
如果文件 -20 存在,则 -- 停止将 -20 作为 rm 的参数处理。
答案2
你的问题
ls | grep "-20" | rm -rf # DOESN'T WORK
是您正在将文件名传输到标准输入,rm
但rm
并未从标准输入读取。您需要使用xargs
来反复调用,rm
例如:
ls | grep '-20' | xargs rm -rf
但实际上,您不想使用ls | grep
来查找文件名。请使用find
命令。
find . -name '*-20' | xargs rm -rf
但当然正如另一位发帖者所说,最好的解决方案是rm -- *-20*
。