寻找不同线条的图案

亚瑟·卓克

我有一个这样的文件(test.txt):

abc
12
34
def
56
abc
ghi
78
def
90

我想搜索由“abc\nghi”和“def”包围的78。目前,我知道我可以通过以下方式做到这一点:

cat test.txt | awk '/abc/,/def/' | awk '/ghi/,'/def/'

有没有更好的办法?

深海

一种方法是使用标志

$ awk '/ghi/ && p~/abc/{f=1} f; /def/{f=0} {p=$0}' test.txt
ghi
78
def
  • {p=$0} 这将保存输入行以备将来使用
  • /ghi/ && p~/abc/{f=1}如果当前行包含ghi且上一行包含则设置标志abc
  • f; 只要设置了标志就打印输入记录
  • /def/{f=0} 如果行包含,则清除标志 def


如果你只想要这两个边界之间的线

$ awk '/ghi/ && p~/abc/{f=1; next} /def/{f=0} f; {p=$0}' ip.txt
78
$ awk '/12/ && p~/abc/{f=1; next} /def/{f=0} f; {p=$0}' ip.txt
34

另请参阅如何在两个图案之间选择线条?

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何更改子图中不同线条的线条颜色

来自分类Dev

如何更改子图中不同线条的线条颜色

来自分类Dev

具有不同线条颜色的ListBox ScrollBar

来自分类Dev

在图案后提取线条

来自分类Dev

Kineticjs的线条图案

来自分类Dev

读取线条并匹配图案

来自分类Dev

如何根据数据集以直线和不同线条样式绘制数据

来自分类Dev

删除与图案匹配的相邻线条

来自分类Dev

如何根据图案转换线条?

来自分类Dev

GLSL线条图案-更改颜色

来自分类Dev

bash:去除一些图案的线条

来自分类Dev

删除图案之间的所有线条

来自分类Dev

提取包括2个图案在内的线条

来自分类Dev

不同线程的输出分开

来自分类Dev

不同线程的输出分开

来自分类Dev

按图案查找线条,仅保留图案,但保留不匹配的线条

来自分类Dev

如何在两个图案之间打印线条?

来自分类Dev

如何在两个图案之间打印线条?

来自分类Dev

从JavaFX中的不同线程更新UI

来自分类Dev

在不同线程中发出Volley请求

来自分类Dev

显示不同线程组的比较图

来自分类Dev

QSqlDatabase不同线程中的并发查询

来自分类Dev

如何区分不同线程的报警信号?

来自分类Dev

不同线程中SharedPreference的访问值

来自分类Dev

Redisson从不同线程释放锁定

来自分类Dev

从不同线程更新AbstractTableModel

来自分类Dev

在不同线程上的accept()错误10093

来自分类Dev

如何区分不同线程的报警信号?

来自分类Dev

在不同线程中运行任务