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

不用复杂的脚本。

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,并且先:

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.iteye.com/blog/1293823
今日推荐