Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2044859
  • 博文数量: 470
  • 博客积分: 10206
  • 博客等级: 上将
  • 技术积分: 5620
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-03 12:50
文章分类

全部博文(470)

文章存档

2012年(1)

2011年(18)

2010年(47)

2009年(404)

分类:

2009-05-05 19:53:17

sed 是行编辑器 , 它的搜寻基本上是以一行为单位。因此 , 当一些字符串因换行而被拆成两部份时 , 一般的方法即不可行。此时 , 就必须以合并两行的方式来搜寻这些数据。其情况如下面例子:
例. 将文件中含 "omega" 字符串的数据输出。其命令列如下
sed -f gp.scr 文件檔
gp.scr 檔的内容如下 :
/omega/b
N
h
s/.*\n//
/omega/b
g
D
我实验如下
$ cat gp.txt
this is a test
sed test   ome
ga
hello world
$ cat gp
/omega/b
N
h
s/.*\n//
/omega/b
g
D
$ sed -f gp gp.txt
$sed '/omega/b;N;h;s/.*\n//;/omega/b;g;D' gp.txt
都没有输出...:em21:



您对本贴的看法:
| |
  帅哥 ((小学生))
光明使者
小学生



CU编号: 468971
注册:2006-9-24
最后登录: 2009-05-05
帖子:
精华:0







状态:...保密...

[] [] [博客]


[]     顶部
发表于 2009-5-4 20:01 
回复 #1 drvial 的帖子

try:

sed '/omega/b;N;h;s/\n//;/omega/b;g;D'

[ 本帖最后由 wtuter 于 2009-5-4 20:10 编辑 ]



您对本贴的看法:

__________________________________

小学生
| |
  帅哥
精灵王




CU编号: 246254
注册:2005-3-28
最后登录: 2009-05-05
帖子:
精华:0







状态:...离线...

[] [] [博客]


[]     顶部
发表于 2009-5-4 20:10 
sed '/omega/b;N;h;s/.*\n//;/omega/b;g;D' gp.txt
去掉.*(如果\n前面的东西都去掉了,本例中两行就成了ga)
sed '/omega/b;N;h;s/\n//;/omega/b;g;D' gp.txt



您对本贴的看法:
| |

圣骑士



CU编号: 730745
注册:2008-7-16
最后登录: 2009-05-05
帖子:
精华:0







状态:...在线...

[] [] [博客]


[]     顶部
发表于 2009-5-4 21:35 
:mrgreen: 明白了,谢谢两位



您对本贴的看法:
阅读(410) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~