从特定行记录到另一个特定行

从特定行记录到另一个特定行

我正在做数据监控,我正在做一个 cron 作业来每天获取数据。但我收到了许多垃圾数据和我的实际数据,这使得文件变得巨大。例如我的数据是,

eg.hh.jk.ll.mm
ee.ff.gg.hh.uh
im.mi.jj.hh.ll
11.33.44.55.66

我必须打印从 ff.gg 到匹配 33.44 的行的数据。线路号不可用。所以我的结果应该是

ee.ff.gg.hh.uh
im.mi.jj.hh.ll
11.33.44.55.66

谢谢 !

答案1

使用sed

sed -n '/ff\.gg/,/33\.44/p' file.log

第一个//匹配起始模式(行),最后一个//匹配结束模式(行)。

例子:

$ cat file.txt                        
14.33.ad.55.66
eg.hh.jk.ll.mm
ee.ff.gg.hh.uh
im.mi.jj.hh.ll
11.33.44.55.66
1f.fs.45.55.66
11.as.56.55.66

$ sed -n '/ff\.gg/,/33\.44/p' file.txt
ee.ff.gg.hh.uh
im.mi.jj.hh.ll
11.33.44.55.66

相关内容