繁体   English   中英

删除linux中以2位数结尾的文件

[英]Deleting files ending with 2 digits in linux

在我的文件夹中,我想删除以2位数字结尾的文件(10,11,12等)

我试过的是

rm [0-9]*

但似乎它不起作用。

这样做的正确语法是什么?

将评论转换为答案。

你的要求有点含糊不清。 但是,您可以使用:

rm -i *[0-9][0-9]

只要你不介意以三位数结尾的文件被删除。 如果您介意删除三位数文件,请使用:

rm -i *[!0-9][0-9][0-9]

(假设Bash历史扩展不会妨碍)。 请注意,如果您的文件名只包含2位数字,则不会删除这些数字; 这将需要:

rm -i [0-9][0-9]

警告!

-i选项用于交互式。 尝试使用globbing和rm命令通常是一个坏主意,因为如果你弄错了可以造成很多伤害。 但是,您可以使用其他技术来消除危险,例如:

echo *[!0-9][0-9]

它回显所有文件名,或:

printf '%s\n' *[!0-9][0-9]

其中列出了每行一个文件名。 基本上,在尝试删除文件时要小心 - 除非你知道你有很好的备份,否则不要犯错。 即便如此,最好不要使用它们

另请参阅GNU Bash手册:

命令

rm [0-9]*

表示删除所有以数字开头的文件 []内的范围是单次扩展的。

而你打算删除以双位数结尾的文件,所以命令应该是

rm *[0-9][0-9]

如果您有一些文件扩展名,则应将该命令修改为

rm *[0-9][0-9]* or
rm *[0-9][0-9].ext

其中ext是像txt这样的扩展名

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM