使用 grep/sed/awk我要搜索 pattern1直到 pattern2在文件中找到并打印仅包含 pattern1 的结果.
我不想要 pattern1 和 pattern2 范围之间的线条,在这个站点中有很多解决方案。请帮忙。
我尝试了以下但没有结果:
亚行日志 | grep -i '模式1' | grep -m 1 '模式2'
看起来像'|'使它成为 AND condition和我正在寻找的字符串不在同一行。它们在不同的行中。
更新:解决方案在终端中有效,但在脚本中无效。有人可以帮助找出为什么它在脚本中不起作用吗?
请您参考如下方法:
找到pattern2后使用sed停止打印:
adb logcat | sed '/pattern2/q' | grep -i 'pattern1'
或者使用 sed 打印 pattern1 并在 pattern2 之后退出:
adb logcat | sed -n '/pattern1/p;/pattern2/q'
