regex - 在 bash 脚本中使用 ls 命令时进行模式匹配

标签 regex sh ls

在 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/

相关文章:

linux - Linux 上 ls -l 命令中的点是什么?

有趣的正则表达式 - 匹配字符数等于 2^n 的单词

ruby - 如何迭代正则表达式的匹配组

linux - 允许 sh 从任何地方运行

javascript - Mac OSx 使用 sh 将文本插入到创建的文件中

bash - 如何在 bash 中正确处理和打印带空格的文件

ruby-on-rails - Rails - 不能以字符开头或结尾的用户名

python - 在python代码中查找除法运算符的所有用法

linux - KSH:限制一次可以运行的线程数

c - 在 UNIX 上打印目录代码出错