标题: 多行合并为一行
注:这是LinuxSir上的一篇讨论多行合并的帖子,整理一下。
#cat tmp
a
b
c
d
让它成为:
#cat tmp
a b c d
1.
#cat tmp | tr -s "\n" " " a b c d
2.
#echo `cat tmp` a b c d
3.
sed ':a;N;$!ba;s/\n/\ /g'
注意:因为sed在处理文本时,一次读入一行,把最后的newline符号去掉,
把剩余部分加入pattern space,处理后追加一个newline并输出。所以
sed 's/\n/\ /g'是无效的。
4.
while read line; do echo -n $line\ ; done
5.
awk '{printf "%s ",$0}'
gawk 'BEGIN { FS="\n";ORS=" "}
{print $0}'
/home/2.txt
阅读(1319) | 评论(0) | 转发(1) |