如何用ls命令找出一个目录下只由数字组成的.jpg(bt要求)

来源:岁月联盟 编辑:exp 时间:2011-12-07

 

不用复杂的脚本。

 

1、

ls -al 1009/[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9].jpg

定长14位文件名可对付。够我用了。

 

 

2、

需要用bash,并且先: www.2cto.com

 

shopt -s extglob

 

然后再ls -al +([0-9]).jpg

用这个可以匹配a.1 a.12 a.123

a.+([0-9])

If  the  extglob  shell option is enabled using the shopt builtin, several extended pattern matching operators are recognized.  In the following

       description, a pattern-list is a list of one or more patterns separated by a |.  Composite patterns may be formed using one or more of the  fol-

       lowing sub-patterns:

 

              ?(pattern-list)

                     Matches zero or one occurrence of the given patterns

              *(pattern-list)

                     Matches zero or more occurrences of the given patterns

              +(pattern-list)

                     Matches one or more occurrences of the given patterns

              @(pattern-list)

                     Matches one of the given patterns

              !(pattern-list)

                     Matches anything except one of the given patterns

 

 

 

3、

下面的就是用相对复杂的,不满足‘只用ls’要求

ls |awk -F '.' '{if($1~/([0-9])+$/&&$2='.jpg') print $0}'

ls|grep "^[0-9]*/.jpg"

不定长,换成*

摘自 baigu