在我的文件夹中,我想删除以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 手册:
- Pattern matching — 这说明您可以使用
^
代替!
。 - The
shopt
built-in
关于linux - 在linux中删除以2位数字结尾的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46088790/