通过BASH修剪换行符

时间:2011-12-15 12:42:23

标签: perl bash sed awk

我有一个文件,其结构为由特定文本foo分隔的多个部分。我想加入一个区域内的所有线路,但保留分隔符。简而言之,我想这样:

输入文本文件:

bar 
bar
bar bar  
foo
bar  
bar bar bar

输出文本文件:

bar bar bar bar   
foo  
bar bar bar bar

也就是说,只有当下一行是foo

时才允许使用换行符

请帮助我使用awk / sed / perl脚本。

1 个答案:

答案 0 :(得分:4)

awk '/^foo$/ { if (NR>1) printf("\n"); print; next } { printf("%s ", $0) }'