设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
注册
快捷导航
平台
Portal
论坛
BBS
文库
项目
群组
Group
我的博客
Space
搜索
搜索
热搜:
shell
linux
mysql
本版
用户
LinuxSir.cn,穿越时空的Linuxsir!
»
论坛
›
Linux 综合讨论区 —— LinuxSir.cn
›
shell进阶应用、shell编程
›
grep 以及sed的问题,请赐教
1
2
/ 2 页
下一页
返回列表
查看:
972
|
回复:
13
grep 以及sed的问题,请赐教
[复制链接]
rommel
rommel
当前离线
积分
26
IP卡
狗仔卡
发表于 2006-5-26 00:39:27
|
显示全部楼层
|
阅读模式
假设我有这样的日志
1. abcdefadfafff
2. 1abelad
3. 23413
4. 3120981-34
5. adfasdf
6. 121abeqwer
7. 21342134
8. afsadfaseqerqwr
我需要把某行中有字符串1ab的上一行内容取出来应该怎么用sed或者grep啊
按上文的日志我我应该取第1行和第5行,其他不要,这应该怎么写啊,请赐教
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
显身卡
晨想
晨想
当前离线
积分
9643
IP卡
狗仔卡
发表于 2006-5-26 00:50:34
|
显示全部楼层
我看错题目了。。sorry。。
回复
支持
反对
使用道具
举报
显身卡
Rascal
Rascal
当前离线
积分
6
IP卡
狗仔卡
发表于 2006-5-26 03:21:43
|
显示全部楼层
awk 'BEGIN{line=""}{if($2~/1ab/){print line};line=$0}' test.txt
Using sed is too complicated.
回复
支持
反对
使用道具
举报
显身卡
czopp
czopp
当前离线
积分
153
IP卡
狗仔卡
发表于 2006-5-26 09:15:25
|
显示全部楼层
sed -n -e '/1ab/p' test.txt
回复
支持
反对
使用道具
举报
显身卡
Rascal
Rascal
当前离线
积分
6
IP卡
狗仔卡
发表于 2006-5-26 23:06:15
|
显示全部楼层
sed -f sed.previous test.txt
其中sed.previous文件的内容为:
:next
/1ab/{
g
p
b next
}
{
h
d
}
或者
/1ab/{
g
p
}
/1ab/!{
h
d
}
Or
/1ab/{
x
p
}
/1ab/!{
h
d
}
另外,以上楼主,请提交回答前自己先试一试,不要灌水。谢谢!
回复
支持
反对
使用道具
举报
显身卡
晨想
晨想
当前离线
积分
9643
IP卡
狗仔卡
发表于 2006-5-26 23:29:30
|
显示全部楼层
$ grep -P ".*(?=\n.*1ab*)" MyLog.txt
1. abcdefadfafff
5. adfasdf
回复
支持
反对
使用道具
举报
显身卡
Rascal
Rascal
当前离线
积分
6
IP卡
狗仔卡
发表于 2006-5-27 10:08:42
|
显示全部楼层
".*(?=\n.*1ab*)"
楼主,能解释一下你的这个RE吗?谢谢。特别是这个括号的作用。
回复
支持
反对
使用道具
举报
显身卡
seamonkey
seamonkey
当前离线
积分
2746
IP卡
狗仔卡
发表于 2006-5-27 10:29:08
|
显示全部楼层
[QUOTE=][/QUOTE]
Perl regexp 可移植性不高。
我的grep不支持。
http://savannah.gnu.org/bugs/?func=detailitem&item_id=14990
回复
支持
反对
使用道具
举报
显身卡
seamonkey
seamonkey
当前离线
积分
2746
IP卡
狗仔卡
发表于 2006-5-27 10:51:07
|
显示全部楼层
awk '/1ab/ {print line}{line=$0}' test
回复
支持
反对
使用道具
举报
显身卡
seamonkey
seamonkey
当前离线
积分
2746
IP卡
狗仔卡
发表于 2006-5-27 11:08:58
|
显示全部楼层
叠床架屋式:
grep -n 1ab test.txt | cut -d: -f1 | while read line; do sed -n $((line-1))p test.txt; done
这些办法都存在一个小问题,第一行就匹配1ab该怎么办。
回复
支持
反对
使用道具
举报
显身卡
下一页 »
1
2
/ 2 页
下一页
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
SuSE Linux
Mandriva Linux
Slackware Linux
BSD 讨论专题
硬件设备 Linux 驱动
Debian Linux
Linux 程序设计专题讨论
Linux 基础讨论区(新手速成)
Archlinux讨论区
Copyright © 2002-2023
LinuxSir.cn
(http://www.linuxsir.cn/) 版权所有 All Rights Reserved.
Powered by
RedflagLinux!
技术支持:
中科红旗
|
京ICP备19024520号
快速回复
返回顶部
返回列表