有没有办法在 Linux 中通过 OR 条件过滤命令的输出?
按 AND 条件使用 grep 进行过滤,方式如下:
ls -l | grep "^a" | grep "z$"
Run Code Online (Sandbox Code Playgroud)
这就是说:列出所有以“a”开头和以“z”结尾的文件(所以有更短的写法:grep“^a\.*z$”,但没关系)。
有没有办法通过 OR 条件执行测试?
例如:完全以“xen”开头的文件或完全以“.rpm”结尾的文件。但确切地说,不是这样的:
grep "[xen]{0,3}\.*[.rpm]{0,4}"
Run Code Online (Sandbox Code Playgroud)
谢谢你提前。
小智 5
您可以使用egrep(它是 的别名grep -E)在搜索模式中使用扩展的正则表达式,如下所示:
egrep '^xen|\.rpm$'
请注意,这[xen]{0,3}意味着:查找长度在 0 到 3 之间并由字符 x、e 和 n 的任意组合组成的字符串。
| 归档时间: |
|
| 查看次数: |
4830 次 |
| 最近记录: |