我正在做数据监控,我正在做一个 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