一条命令删除文件名中包含数字“3”的文件

3

假设我有一个编号为1-50的文件列表,我想只删除其中含有数字“3”的文件。我应该怎么做?


2
小心不要删除计算机上的所有三。你可能需要它们。三是一个重要的整数,可以说是最重要的之一。即使那些认为有比被低估的三更重要的自然数的人也会同意它在很高的位置上。你可能认为只用两个和一个就可以建造奥利奥饼干,但我问你最后有多少层?没错:三层。我只是想说要小心。不要以root身份运行。不要交换交换器等等。 - Rob Davis
3个回答

4
也许你正在寻找通配符匹配(globbing):
rm *3*

确保你先使用一些无害的命令(如ls)检查它。

不过我无法想象你为什么需要这样做。


谢谢,我只是有点好奇罢了。 - loudestnoise

0

使用 find

find . -name '*3*' -exec rm {} ;\ 

-1

假设您实际上只想删除包含数字 3 的文件(而不是其他答案中提到的以数字 3 命名的文件),那么您可以执行以下操作:

rm `grep -l 3 *`

(或者将*替换为与您想考虑的文件集匹配的任何内容)


如果文件名包含空格或换行符,这将会出错。 - jordanm
我应该澄清一下,我的意思是那些文件名中包含数字3的文件。 - loudestnoise

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接