Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5761004
  • 博文数量: 675
  • 博客积分: 20301
  • 博客等级: 上将
  • 技术积分: 7671
  • 用 户 组: 普通用户
  • 注册时间: 2005-12-31 16:15
文章分类

全部博文(675)

文章存档

2012年(1)

2011年(20)

2010年(14)

2009年(63)

2008年(118)

2007年(141)

2006年(318)

分类:

2006-06-05 14:40:16


标题: 多行合并为一行
注:这是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) |
给主人留下些什么吧!~~