繁体   English   中英

使用shell脚本匹配可变长度的数字

[英]Match a variable length of number with shell script

我有类似的文件

  • _1_blabla.sql
  • _35_description.sql
  • _148_last_migration.sql
  • structure.sql

如何匹配以_variableLengthOfDigit_randomString.sql开头的这些文件。

到目前为止,我有类似

find . -name '_[0-9]_*.sql' 

但这只会匹配第一种情况。

使用find-regex选项:

find . -regex '.*/_[0-9]+_.*\.sql' 

或者,使用bash的扩展globing:

shopt -s extglob
echo _+([0-9])_*.sql     

使用find可以使用regex

find . -regex '.*_[0-9]*_.*\.sql$'

如果使用grep则可以使用regexp:

find . | grep '^_[0-9]*_.*\.sql$'

find-name的仅模式匹配无法匹配您所描述的模式。

您也可以为此使用现代find命令的选项-regex

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM