LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1204|回复: 14

[求助]多行合并为一行

[复制链接]
发表于 2006-5-30 11:29:50 | 显示全部楼层 |阅读模式
#cat tmp
a
b
c
d

怎样可以让它成为:
#cat tmp
a b c d


多谢~~貌似简单呵呵
 楼主| 发表于 2006-5-30 11:34:01 | 显示全部楼层
个人感觉好象是把回车符替换成空格……
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-5-30 11:55:57 | 显示全部楼层
刚才思绪有点乱,调整了一下+看了一下tr的用法,想起来了两种办法~~
  1. #cat tmp | tr -s "\n" " "
  2. a b c d
复制代码

还有个办法偶喜欢~~
  1. #echo `cat tmp`
  2. a b c d
复制代码
回复 支持 反对

使用道具 举报

发表于 2006-5-30 12:26:15 | 显示全部楼层
UUOC,嘻嘻。

tr '\n' ' ' <test
回复 支持 反对

使用道具 举报

发表于 2006-5-30 13:12:19 | 显示全部楼层
hehe!
tr -d '\n' <abcd
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-5-30 14:13:06 | 显示全部楼层
不知道有多少种办法可以解决这个问题~~~
回复 支持 反对

使用道具 举报

发表于 2006-5-30 14:19:11 | 显示全部楼层
sed ':a;N;$!ba;s/\n/\ /g'
回复 支持 反对

使用道具 举报

发表于 2006-5-30 14:21:41 | 显示全部楼层
哦,两者差了一个newline
回复 支持 反对

使用道具 举报

发表于 2006-5-30 14:23:24 | 显示全部楼层
while read line; do echo -n $line\ ; done <file

始终不要用cat。
回复 支持 反对

使用道具 举报

发表于 2006-5-30 14:27:28 | 显示全部楼层
awk '{printf "%s ",$0}'
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表