知识屋:更实用的电脑技术知识网站
所在位置:首页 > 操作系统 > linux

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

发布时间:2014-09-05 16:40:53作者:知识屋

 

不用复杂的脚本。

 

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.zhishiwu.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

(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜