regex - 需要帮助在扩展的 globbing 中混合标准

标签 regex linux command-line cat glob

我有一个包含以下文件的目录:

foo.bar.1.txt
foo.bar.2.txt
foo.bar.1.out
foo.bar.2.out
bar.1.txt
bar.2.txt
bar.1.out
bar.2.out

我有两个目标:

主要:在脚本中,我想 cat bar.2.out(但不是 foo.bar.2.out),但“bar”因情况而异。换句话说,我真的希望它 cat *.2.out,排除 foo.bar.2.out 文件。

中学:详细了解扩展通配的工作原理。我知道我可能可以使用 find 和 grep 的某种组合来过滤我想要的文件。

最佳答案

是的,扩展的 globbing 应该可以做到。

$ shopt -s extglob
$ ls !(foo*).2.out
bar.2.out

关于regex - 需要帮助在扩展的 globbing 中混合标准,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14898145/

相关文章:

JavaScript 调用带有数字正则表达式匹配的函数(int)会导致错误

python - 如果我打开并读取周期写入的文件,会不会出现I/O死锁?

linux - 在 linux 中创建包含多个 zip 文件内容的列表

php - 从命令行运行 PHP 脚本

linux - 如何删除 linux 行尾,但在 bash 中保留 windows 行尾?

c# - 提取脚本标签的正则表达式

mysql - Codeigniter 2.1 - MySQL 和正则表达式

linux - 将 txt 文件中的数据求和,然后将其输出到一行

java - 初学者 Java(循环)- 自动售货机

Python:正则表达式查找