在Unix中,如何通配符匹配名称大于x的数字的文件

时间:2014-10-22 22:34:09

标签: unix numbers wildcard

我有一堆名为这样的文件:

0468.xml
0474.xml
0475.xml
0481.xml

我希望匹配目录中的任何文件,其名称(不带.xml扩展名)是一个大于,比如0474的数字。换句话说,我想匹配最后两个文件。

2 个答案:

答案 0 :(得分:1)

一个选项:

  ls | awk -F. '$1>474'

答案 1 :(得分:0)

有许多方法可以解决这个问题。一种简单的方法是提取要比较的数字部分,然后将其与最小值进行比较,如下所示。

for file in +([[:digit:]]).xml
do 
    if [ `basename -s .xml $file` -gt 474 ]
    then 
        echo $file; 
    fi; 
done