如何在特定情况下使用grep

问题描述 投票:0回答:1

如何使用 grep 提取部分搜索内容。 示例:我想提取其中包含“bc”的行 但不包括包含“abc”的行 我的不太优雅的解决方案是 猫文件.txt | grep -v abc | grep -v abc | grep -v abc | grep -v abc | grep -v abc grep BC 还有其他命令可以执行此操作吗?

关于此事的答案

shell grep freebsd
1个回答
0
投票

egrep
grep -E
可以使用现代正则表达式,它们比基本正则表达式更强大、更一致(作为参考,请在 FreeBSD 系统上执行
man re_format
)。

不幸的是,他们仍然不支持 负面后向断言,这是您在不遵循 bc

 时用来查找 
a
的方法。但它们足以在行首要求
bc
bc
跟随与
a
不同的任何字符。其中只是写道:

grep -E -e '(^bc)|([^a]bc)' file.txt
© www.soinside.com 2019 - 2024. All rights reserved.