当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 6 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : sed的替换问题
帖子发表于 : 2008-03-16 20:38 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
☎ cat tmp
1
2
3
4
5
6
7
8
9
10
☎ sed -e '/5/{h;d}' -e '$x' tmp
1
2
3
4
6
7
8
9
5
找到匹配5的行,放到尾巴上。少了一行(如果文件尾巴有一空行,就对头)。其实是想放到文件第一行。
☎ sed -e '/5/{h;d}' -e '1x' tmp

2
3
4
6
7
8
9
10
更加不对。插入/追加行也试过。

:cry:
:cry:


_________________
● 鸣学


页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2008-03-16 21:06 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
spikerman iGoogle: sed -e '/5/{h;d}' -e '$G' tmp'
我是看晕了。G可以。现在剩下不tac,放到第一行的事情了。


_________________
● 鸣学


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2008-03-20 11:14 

注册: 2006-07-16 2:26
帖子: 29
送出感谢: 0 次
接收感谢: 0 次
1. 楼主为什么认为 sed -e '/5/{h;d}' -e '$x' tmp 后,结果最后需要一个空行呢。
2. sed执行时是line by line的吧,所以-e '1x' 在第一行放入pattern space的时候就执行,此时的holding buffer为空,所以将第一行换为空行。


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2008-03-20 11:16 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
只是一个大写错误拉。现在是确定了,不能前插入,只有追加。如果有办法,欢迎跟。


_________________
● 鸣学


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2008-03-29 14:43 

注册: 2006-08-22 23:10
帖子: 166
送出感谢: 0 次
接收感谢: 0 次
:o 学到了 :lol:
sed -e '/1/{h;d};/[234]/{H;d};/5/{G}' tmp


页首
 用户资料  
 
6 楼 
 文章标题 :
帖子发表于 : 2008-04-01 20:10 

注册: 2008-03-23 18:17
帖子: 11
地址: 杭州
送出感谢: 0 次
接收感谢: 0 次
http://forum.ubuntu.org.cn/viewtopic.php?t=112618
遇到和楼主一样的问题,郁闷中


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 6 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译