ChinaUnix.net
 >> ChinaUnix.net > Solaris

[求助]怎样用grep抓出多行?[求助]

作者:zhangr     发表时间:2002/04/16 01:48pm

比如文本:
ABC  sdfasfasf
DEF  fdsfsdfsdf
WSD SDFSDFSDF
SDFGWERG
ABC dfgdgd

我怎么才能抓出所有带 ABC 和带 DEF 的行呢?谢谢!
应该怎么写?
%cat a|grep ..............
再谢! 8-)


此文章相关评论:
该文章有15个相关评论如下:(点这儿可以发表评论)
shirley 发表于: 2002/04/16 02:03pm
cat a|grep ABC|grep DEF应该是可以的。
不过一定还有更好的办法,我再试试。
 
阿骁 发表于: 2002/04/16 02:06pm
cat a|grep ABC|grep DEF  这样好像不行吧!!
 
zhangr 发表于: 2002/04/16 02:11pm
cat a|grep ABC|grep DEF不是先抓出有ABC的行,再在有ABC的行中抓有DEF的行吗?
雪莉姐,帮忙呀!!!
先谢了!
 
zhangr 发表于: 2002/04/16 04:10pm
哪位帮帮忙呀?谢谢啦!
 
zhangbin 发表于: 2002/04/16 04:18pm
grep ABC filename.dat>newfile.dat
grep DEF filename.dat>>newfile.dat
或者建个patternname.dat文件,每个字符串一行。
/usr/xpg4/bin/grep -f patternname.dat filename.dat>newfile.dat
 
valentine 发表于: 2002/04/16 05:10pm
看样你需要的是含ABC或的DEF行
用grep可以这样写:
grep [\\\(ABC\\\),\\\(DEF\\\)] filename
用egrep简单一些:
egrep [\(ABC\),\(DEF\)] filename

欢迎到shell版讨论类似问题。

 
taige 发表于: 2002/04/24 04:19pm
grep -e ABC -e DEF a
不就行了!!
 
valentine 发表于: 2002/04/24 06:47pm
grep -E "ABC|DEF" filename 也可。
我原来说的是利用正则表达式本身的功能,通用性很强。
 
race 发表于: 2002/04/25 09:46am
学习一下awk吧,我几年前学了一直用不上,又全忘了。
 
hbbeger 发表于: 2002/07/09 11:58am
egrep "ABC|DEF" filename
 
amiao 发表于: 2002/07/09 12:53pm
valentine是shell大师
 
juniper123 发表于: 2002/07/09 12:55pm
valentine 说的方法最好,用正则表达式
 
feng77730 发表于: 2002/07/09 01:09pm
确实不错啊!:)
 
jerryesquire 发表于: 2002/07/09 01:20pm
shell版的高手都在这里了呀!:)
 
sopato 发表于: 2002/07/09 01:34pm
[quote][b]下面引用由[u]jerryesquire[/u]在 [i]2002/07/09 01:20pm[/i] 发表的内容:[/b]
shell版的高手都在这里了呀!:)
[/quote]

9494

 
 

Copyright © ChinaUnix.net  *  转载请注明出处及作者