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

标签 linux bash glob

在我的文件夹中,我想删除以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 手册:

关于linux - 在linux中删除以2位数字结尾的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46088790/

相关文章:

python - 使用 doctests 在 Python 项目中导入

linux - Ifconfig 不提供 Kali Linux 上的任何详细信息

linux - 当我要求查看 public_html 文件夹中的所有目录时,在 putty 中它只返回 2 个文件夹

python - 你如何将 bash 别名移植到 ipython > 0.10?

php: 我可以在没有完整路径的情况下压缩 glob 文件吗?

python - 读取多个 csv 文件并将文件名添加为 Pandas 中的新列

linux - 测试用户是否可以在 Bash 中执行 sudo 的最佳方法是什么?

bash - 如果参数超过 9 个,如何访问函数的参数?

bash - 对bash中所有子文件夹的所有图像执行命令

linux - Bash 到批量转换