如何删除当前目录下文件名中包含-20
所有文件?
我有
ls | grep "-20" | rm -rf
但是这不起作用。 想法?
谢谢。
rm -- *-20*
如果文件-20存在,停止-20将被视为rm的参数。
你的问题
ls | grep "-20" | rm -rf # DOESN'T WORK
是你pipe道文件名rm
但rm
不读取标准input。 您需要使用xargs
重复调用rm
,如下所示:
ls | grep '-20' | xargs rm -rf
但是真的,你不想用ls | grep
ls | grep
find文件名。 使用find
命令。
find . -name '*-20' | xargs rm -rf
当然,正如其他海报所说,最好的解决scheme是rm -- *-20*
。