我是初学者sed
。我知道可以将一个命令(或一组命令)应用于一定范围的行,如下所示
sed '/[begin]/,/[end]/ [some command]'
where [begin]
是一个正则表达式,指定范围的起始行并且[end]
是一个正则表达式,指定范围的结束行(但包含在范围中)。
我试图用它来指定文件中的一系列行并将它们全部连接到一行中。这是我最好的尝试,但没有成功:
sed '/[begin]/,/[end]/ {
N
s/\n//
}
'
我可以毫无问题地选择我想要的一组行,但我似乎无法将它们全部合并到一行中。如果有人能指出我正确的方向,我将非常感激。
一种方式使用GNU sed
:
sed -n '/begin/,/end/ { H;g; s/^\n//; /end/s/\n/ /gp }' file.txt
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)