0

我需要在模式被击中后打印多行,直到到达空白行。

aaa
bbb
ccc
ddd

aaa
fff
ggg
hhh
iii
jjj

一行中包含组数据的所需输出:

aaa bbb ccc ddd 
aaa fff ggg hhh iii jjj
4

4 回答 4

1

使用sed

$ sed -r ':a;N;$!ba;s/(.)\n/\1 /g' inputfile
aaa bbb ccc ddd 
aaa fff ggg hhh iii jjj
于 2013-09-30T07:51:33.127 回答
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,这可能只适用于 gawk,或支持 RS 中的多个字符的 awk

于 2013-09-30T07:51:49.837 回答
1

一种方法awk

$ awk '{$1=$1}1' RS= FS='\n' OFS=' ' file
aa bbb ccc ddd
aaa fff ggg hhh iii jjj
于 2013-09-30T07:42:59.827 回答
0

这可能对您有用(GNU sed):

sed ':a;$!N;s/\n$//;t;s/\n/ /;ta' file
于 2013-09-30T09:50:51.370 回答