我需要在模式被击中后打印多行,直到到达空白行。
aaa
bbb
ccc
ddd
aaa
fff
ggg
hhh
iii
jjj
所需的输出,包含一行中的组数据:
aaa bbb ccc ddd
aaa fff ggg hhh iii jjj
答案 0 :(得分:1)
awk
的一种方式:
$ awk '{$1=$1}1' RS= FS='\n' OFS=' ' file
aa bbb ccc ddd
aaa fff ggg hhh iii jjj
答案 1 :(得分:1)
使用sed
:
$ sed -r ':a;N;$!ba;s/(.)\n/\1 /g' inputfile
aaa bbb ccc ddd
aaa fff ggg hhh iii jjj
答案 2 :(得分:1)
awk '$1=$1' RS="\n\n" file
aaa bbb ccc ddd
aaa fff ggg hhh iii jjj
或者更强大(如果0
为第一位数字。
awk '{$1=$1}1' RS="\n\n" file
PS,这可能仅适用于支持RS中的多个字符的gawk或awk
答案 3 :(得分:0)
这可能适合你(GNU sed):
sed ':a;$!N;s/\n$//;t;s/\n/ /;ta' file