我的数据形式为:
START
...
...
END
START
...
...
END
我想对数据进行一些分析,因此想要提取START
和END
之间的界限。现在问题是我想以块的形式提取数据。对于例如在第一对START
和END
之间提取数据,然后分析第二对,然后是第三对。我正在探索sed这样做。我如何使用sed(或任何其他工具)来实现这一目标?
答案 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