在 sh 脚本中,我尝试循环遍历与以下模式匹配的所有文件
abc.123
基本上是 abc。后面只能跟数字,.
后面的数字可以是任意长度。
使用
$ shopt -s extglob
$ ls abc.+([0-9])
完成这项工作,但在终端上而不是通过脚本。如何只获取与模式匹配的文件?
最佳答案
如果我理解正确,该模式可以转换为正则表达式:
^abc\.[0-9]+$
所以你可以
继续使用ls
并grep输出。例如:
ls *.*|xargs -n1|grep -E '^abc\.[0-9]+$'
或使用查找
find 有一个选项 -regex
关于regex - 在 bash 脚本中使用 ls 命令时进行模式匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15035333/