[英]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.