![如何在tree命令中通过通配符排除所有4位数字而没有前5位数字的文件](https://linux22.com/image/81059/%E5%A6%82%E4%BD%95%E5%9C%A8tree%E5%91%BD%E4%BB%A4%E4%B8%AD%E9%80%9A%E8%BF%87%E9%80%9A%E9%85%8D%E7%AC%A6%E6%8E%92%E9%99%A4%E6%89%80%E6%9C%894%E4%BD%8D%E6%95%B0%E5%AD%97%E8%80%8C%E6%B2%A1%E6%9C%89%E5%89%8D5%E4%BD%8D%E6%95%B0%E5%AD%97%E7%9A%84%E6%96%87%E4%BB%B6.png)
我想排除列出以下数字
0005
0006
...
9998
9999
我尝试下面的代码,但失败了
我用
tree -I '*.[0-9][0-9][0-9][5-9]'
但它创建了 0014 0024 行...
我希望树列表只包含文件,例如
*.0000
*.0001
*.0002
*.0003
*.0004
但结果显示:
*.0000
*.0001
*.0002
*.0003
*.0004
*.0010
*.0011
*.0012
*.0013
*.0014
.....
答案1
您可以简单地将-I
标志替换为-P
,并直接匹配您想要的内容,如下所示:
tree -P '*.000[0-4]'
答案2
如果您想排除,请尝试tree -I "*.[1-9][1-9][1-9][5-9]"
。
任何无法匹配的内容要么在前 3 个插槽中的至少一个中具有禁止的 0,要么在最后一个插槽中大于 4。