我正在尝试了解sed,grep和awk,并且遇到了以下问题:使用sed获取两个模式(START和END)之间的所有行后,我得到了下面的日志:
START
tag: text info text text info text
text info texttext info text
text info texttext info text
text info texttext info text
other_tag: text info text text info text
text info text text info text text info text
text info text text info text text info text
END
START
tag: text info text text info text
text info text text info text
text info text text info text
other_tag: text info text text info text
text info text text info text text info text
text info text text info text text info text
END
我想将所有行合并到其父行,删除开始的[tab],如下所示:
START
tag: text info text text info text text info text text info text text info text text info text text info text text info text
other_tag: text info text text info text text info text text info text text info text text info text text info text text info text
END
START
tag: text info text text info text text info text text info text text info text text info text
other_tag: text info text text info text text info text text info text text info text text info text text info text text info text
END
有人可以帮我吗?谢谢!
您可能应该继续使用sed。使用N可以将输入的下一行追加到模式空间中,然后可以在两行之间匹配\ n。
您可以参考:
sed ':a; N; $!b a; s/\n\s\{1,\}/ /g'
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句