解析/ proc / pid / smaps输出

时间:2012-03-07 19:45:10

标签: linux bash sed grep

我的数据形式为:

START
...
... 
END
START
...
...
END

我想对数据进行一些分析,因此想要提取STARTEND之间的界限。现在问题是我想以块的形式提取数据。对于例如在第一对STARTEND之间提取数据,然后分析第二对,然后是第三对。我正在探索sed这样做。我如何使用sed(或任何其他工具)来实现这一目标?

1 个答案:

答案 0 :(得分:0)

这可能对您有用:

sed '/START/,/END/{/START/{h;d};H;/END/{g;s/\.\.\./foo/gp};d}' file
START
foo
foo 
END
START
foo
foo
END

或者这个:

awk '/START/{p=1;n++};p{if(n==1)sub(/\.\.\./,"foo");if(n==2)sub(/\.\.\./,"bar");print};/END/{p=0}' file
START
foo
foo 
END
START
bar
bar
END