BBS.ChinaUnix.net
首页 | 新闻 | Linux | FreeBSD | AIX | Windows | 博客 | 论坛 | 存储 | 网络 | 人才 | Wiki | 资料 | 读书 | 手册 | 下载 | 空间 | 搜索
  会员: 密码: 免费注册 | 忘记密码 | 会员登录 | 搜索 | 帮助 


奥运快报: 
奥运热点:
 

请教:关于合并行的一个问题
首页 » 论坛 » Shell »  
[打印] [订阅] [收藏] [本帖文本页] [推荐此主题给朋友,立即获积分]
wuerhe
风云使者




UID:149554
注册:2004-4-7
最后登录: 2008-09-04
帖子:504
精华:1

可用积分:517 (稍有积蓄)
信誉积分:100
专家积分:0 (本版:0)
空间积分:0 (白手起家)
推广积分:0 (白手起家)

状态:...离线...

[个人空间] [短信] [博客]


顶部
1楼 发表于 2008-7-2 20:22 
某个文本文件,当逐行读取时,当发现第一个字段是空格或空值时(cut -d'  ' -f1),就将所在行与上行合并。
请问:这个功能如何实现?

thanks



您对本贴的看法:鲜花[0] 臭蛋[0]
空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
Shell_HAT
光明使者




UID:637535
注册:2007-11-5
最后登录: 2008-09-01
帖子:908
精华:0

可用积分:824 (稍有积蓄)
信誉积分:0
专家积分:5 (本版:5)
空间积分:860 (稍有积蓄)
推广积分:0 (白手起家)

来自:重庆
状态:...离线...

[个人空间] [短信] [博客]


顶部
2楼 发表于 2008-7-2 20:36 


sed -e :a -e '/^[ \t]/N; s/\n[ \t]//; ta' urfile




您对本贴的看法:鲜花[0] 臭蛋[0]
空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
springwind426   帅哥 (春之风)
大天使




UID:110253
注册:2003-11-7
最后登录: 2008-09-05
帖子:1763
精华:1

可用积分:1986 (家境小康)
信誉积分:100
专家积分:119 (本版:18)
空间积分:0 (白手起家)
推广积分:0 (白手起家)

状态:...离线...

[个人空间] [短信] [博客]


顶部
3楼 发表于 2008-7-2 20:59 


sed ':a;N;/\n[[:blank:]]\+/{s/\n//;ba};P;D' 数据文件

解释:
:a  设置跳转标签
N 读入下一行
/\n[[:blank:]]\+/{s/\n//;ba} 如果下一行是以空白开头的话,就把换行符删除,然后再读取下一行,直到读取到不是以空白开头的行
P; 打印第一个换行符之前的内容
D; 删除第一个换行符之前的内容,并重新开始循环



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

Debian(lenny)
GNU bash, version 3.1.17(1)-release (i486-pc-linux-gnu)
GNU Awk 3.1.5
GNU sed version 4.1.5
GNU grep 2.5.3
空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
err7dd   帅哥
精灵



UID:573821
注册:2007-6-9
最后登录: 2008-09-04
帖子:202
精华:0

可用积分:1018 (家境小康)
信誉积分:100
专家积分:13 (本版:13)
空间积分:811 (稍有积蓄)
推广积分:0 (白手起家)

状态:...离线...

[个人空间] [短信] [博客]


顶部
4楼 发表于 2008-7-2 21:01 
try:

awk '/^[^ \t]/{printf "\n"$0}; /^[ \t]/{printf $0}END{printf "\n"}' file



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

人生的最大遗憾莫过于错误地坚持了不该坚持的,轻易地放弃了不该放弃的……
空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
blackold   帅哥 (黑哥)
大天使



UID:631768
注册:2007-10-22
最后登录: 2008-09-05
帖子:1724
精华:0

可用积分:5692 (富足长乐)
信誉积分:0
专家积分:61 (本版:61)
空间积分:0 (白手起家)
推广积分:0 (白手起家)

状态:...在线...

[个人空间] [短信] [博客]


顶部
5楼 发表于 2008-7-3 09:37 
回复 #3 springwind426 的帖子

Good!



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

LIVE FREE OR DIE!     K.I.S.S.


空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
kingsu
精灵




UID:647908
注册:2007-11-29
最后登录: 2008-08-07
帖子:229
精华:0

可用积分:268 (白手起家)
信誉积分:45
专家积分:35 (本版:0)
空间积分:0 (白手起家)
推广积分:0 (白手起家)

状态:...离线...

[个人空间] [短信] [博客]


顶部
6楼 发表于 2008-7-3 09:42 
回复 #4 err7dd 的帖子

Good!



您对本贴的看法:鲜花[0] 臭蛋[0]
空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
edei2004   帅哥 (tao)
圣骑士



UID:604603
注册:2007-8-18
最后登录: 2008-09-02
帖子:103
精华:0

可用积分:144 (白手起家)
信誉积分:0
专家积分:0 (本版:0)
空间积分:0 (白手起家)
推广积分:0 (白手起家)

状态:...离线...

[个人空间] [短信] [博客]


顶部
7楼 发表于 2008-7-3 10:32 
学习



您对本贴的看法:鲜花[0] 臭蛋[0]
空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
Shell_HAT
光明使者




UID:637535
注册:2007-11-5
最后登录: 2008-09-01
帖子:908
精华:0

可用积分:824 (稍有积蓄)
信誉积分:0
专家积分:5 (本版:5)
空间积分:860 (稍有积蓄)
推广积分:0 (白手起家)

来自:重庆
状态:...离线...

[个人空间] [短信] [博客]


顶部
8楼 发表于 2008-7-3 10:37 
回复 #4 err7dd 的帖子

多了一个空行

QUOTE:
$ cat urfile
aaa
b
c
bbb
  d
eee
$ awk '/^[^ \t]/{printf "\n"$0}; /^[ \t]/{printf $0}END{printf "\n"}' urfile

aaa b c
bbb  d
eee




您对本贴的看法:鲜花[0] 臭蛋[0]
空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
Shell_HAT
光明使者




UID:637535
注册:2007-11-5
最后登录: 2008-09-01
帖子:908
精华:0

可用积分:824 (稍有积蓄)
信誉积分:0
专家积分:5 (本版:5)
空间积分:860 (稍有积蓄)
推广积分:0 (白手起家)

来自:重庆
状态:...离线...

[个人空间] [短信] [博客]


顶部
9楼 发表于 2008-7-3 10:41 
回复 #3 springwind426 的帖子

还有别的方法么?

QUOTE:
$ sed ':a;N;/\n[[:blank:]]\+/{s/\n//;ba};P;D' urfile
sed: The label :a;N;/\n[[:blank:]]\+/{s/\n//;ba};P;D is greater than eight characters.
$ uname
HP-UX




您对本贴的看法:鲜花[0] 臭蛋[0]
空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
kingsu
精灵




UID:647908
注册:2007-11-29
最后登录: 2008-08-07
帖子:229
精华:0

可用积分:268 (白手起家)
信誉积分:45
专家积分:35 (本版:0)
空间积分:0 (白手起家)
推广积分:0 (白手起家)

状态:...离线...

[个人空间] [短信] [博客]


顶部
10楼 发表于 2008-7-3 10:48 
回复 #1 wuerhe 的帖子

如果第一行的开头是一个空格或者TAB呢?



您对本贴的看法:鲜花[0] 臭蛋[0]
空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘

首页 » 论坛 » Shell »


 


Copyright © 2001-2008 ChinaUnix.net All Rights Reserved     联系我们:

感谢所有关心和支持过ChinaUnix的朋友们    转载本站内容请注明原作者名及出处

京ICP证041476号


清除 Cookies - ChinaUnix - Archiver - WAP - TOP

Processed in 0.072826 second(s), 4 queries , Gzip enabled