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

全部博文(470)

文章存档

2012年(1)

2011年(18)

2010年(47)

2009年(404)

分类:

2009-06-15 09:53:35

[] [] [] [] []

光明使者




CU编号: 682147
注册:2008-3-26
最后登录: 2009-06-12
帖子:
精华:0







状态:...离线...

[] [] [博客]


[] 顶部
发表于 2009-6-12 12:58 
假设有多行文本,想先找到包含“cron”和“test”的字符串,再排除“grep”,一条命令如何表达出来?
ps -ef|grep "(cron|test)"|grep -v grep
上面是两次grep,能一次grep搞定吗?



您对本贴的看法:
| | |
  帅哥 (黑哥)
精灵使



CU编号: 631768
注册:2007-10-22
最后登录: 2009-06-15
帖子:
精华:0







状态:...在线...

[] [] [博客]


[] 顶部
发表于 2009-6-12 13:00 
回复 #1 Aquester 的帖子

-P perl regexpr



您对本贴的看法:

__________________________________

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


| | |

光明使者




CU编号: 682147
注册:2008-3-26
最后登录: 2009-06-12
帖子:
精华:0







状态:...离线...

[] [] [博客]


[] 顶部
发表于 2009-6-12 13:02 


QUOTE:
原帖由 blackold 于 2009-6-12 13:00 发表
-P perl regexpr

大侠,看不懂,能上体点么?regexpr 应当怎么写?



您对本贴的看法:
| | |
  帅哥 (黑哥)
精灵使



CU编号: 631768
注册:2007-10-22
最后登录: 2009-06-15
帖子:
精华:0







状态:...在线...

[] [] [博客]


[] 顶部
发表于 2009-6-12 15:37 
回复 #3 Aquester 的帖子

try:

CODE:
ps -ef|grep -P '(cron|test)(?=.*grep)|grep(?=.*(cron|test))'

[ 本帖最后由 blackold 于 2009-6-12 18:57 编辑 ]



您对本贴的看法:

__________________________________

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


| | |
  帅哥
大天使




荣誉会员  
CU编号: 51293
注册:2003-4-10
最后登录: 2009-06-15
帖子:
精华:







来自:西安
状态:...离线...

[] [] [博客]


[] 顶部
发表于 2009-6-12 15:49 
回复 #1 Aquester 的帖子

grep+ps的标准解法是:
ps -ef|grep "([c]ron|[t]est)"

事实上,不匹配某个字符串的正则是可以写的(perl正则),但这里不需要。



您对本贴的看法:
| | |
  帅哥 (黑哥)
精灵使



CU编号: 631768
注册:2007-10-22
最后登录: 2009-06-15
帖子:
精华:0







状态:...在线...

[] [] [博客]


[] 顶部
发表于 2009-6-12 16:03 
回复 #5 woodie 的帖子

ps -ef|grep "([c]ron|[t]est)" 表示什么?



您对本贴的看法:

__________________________________

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


| | |
(幽灵)
光明使者
linux小学5年级



CU编号: 1284533
注册:2009-4-2
最后登录: 2009-06-15
帖子:
精华:0







状态:...离线...

[] [] [博客]


[] 顶部
发表于 2009-6-12 17:36 



您对本贴的看法:

__________________________________



2手ThinkPad T42/T43/X32经典小黑IBM最后原产纪念版本2K-3K
| | |
  帅哥 (Tim)
法师


CU奥运火炬传递手2008
CU编号: 465018
注册:2006-9-13
最后登录: 2009-06-15
帖子:
精华:0







来自:长春
状态:...在线...

[] [] [博客]


[] 顶部
发表于 2009-6-12 18:20 
回复 #6 blackold 的帖子

加个[] ,就是为了达到grep -v grep的效果。



您对本贴的看法:

__________________________________

记住该记住的,忘记该忘记的。改变能改变的,接受不能改变的。
| | |
  帅哥
风云使者




CU编号: 690903
注册:2008-4-13
最后登录: 2009-06-15
帖子:
精华:0







状态:...离线...

[] [] [博客]


[] 顶部
发表于 2009-6-12 18:37 
回复 #1 Aquester 的帖子

awk '/cron/&&/test/&&!/grep/{print}' urfi

[ 本帖最后由 greendays 于 2009-6-12 18:40 编辑 ]



您对本贴的看法:
| | |
  帅哥 (黑哥)
精灵使



CU编号: 631768
注册:2007-10-22
最后登录: 2009-06-15
帖子:
精华:0







状态:...在线...

[] [] [博客]


[] 顶部
发表于 2009-6-12 18:41 
回复 #8 ly5066113 的帖子

嗯,原来如彼!多谢Tim指教。

但woodie的写法不对吧。



您对本贴的看法:

__________________________________

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


| | |
  帅哥 (Tim)
法师


CU奥运火炬传递手2008
CU编号: 465018
注册:2006-9-13
最后登录: 2009-06-15
帖子:
精华:0







来自:长春
状态:...在线...

[] [] [博客]


[] 顶部
发表于 2009-6-12 18:44 
回复 #10 blackold 的帖子

你是指没有用egrep或者 \| 吧?
应该是笔误



您对本贴的看法:

__________________________________

记住该记住的,忘记该忘记的。改变能改变的,接受不能改变的。
| | |
  帅哥 (黑哥)
精灵使



CU编号: 631768
注册:2007-10-22
最后登录: 2009-06-15
帖子:
精华:0







状态:...在线...

[] [] [博客]


[] 顶部
发表于 2009-6-12 18:59 
回复 #11 ly5066113 的帖子

应该是。



您对本贴的看法:

__________________________________

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

阅读(3367) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~