免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5341 | 回复: 2
打印 上一主题 下一主题

Grep 用法 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-12-16 11:55 |只看该作者 |倒序浏览
Grep : g (globally) search for a re (regular expression ) and p (print ) the results.\r\n\r\n1、参数:\r\n-I :忽略大小写\r\n-c :打印匹配的行数\r\n-l :从多个文件中查找包含匹配项\r\n-v :查找不包含匹配项的行\r\n-n:打印包含匹配项的行和行标\r\n\r\n2、RE(正则表达式)\r\n\\ 忽略正则表达式中特殊字符的原有含义\r\n^ 匹配正则表达式的开始行\r\n$ 匹配正则表达式的结束行\r\n\\< 从匹配正则表达式的行开始\r\n\\>; 到匹配正则表达式的行结束\r\n[ ] 单个字符;如[A] 即A符合要求\r\n[ - ] 范围 ;如[A-Z]即A,B,C一直到Z都符合要求\r\n. 所有的单个字符\r\n* 所有字符,长度可以为0\r\n\r\n3、举例\r\n# ps -ef | grep in.telnetd\r\nroot 19955 181 0 13:43:53 ? 0:00 in.telnetd\r\n\r\n# more size.txt size文件的内容\r\nb124230\r\nb034325\r\na081016\r\nm7187998\r\nm7282064\r\na022021\r\na061048\r\nm9324822\r\nb103303\r\na013386\r\nb044525\r\nm8987131\r\nB081016\r\nM45678\r\nB103303\r\nBADc2345\r\n\r\n# more size.txt | grep \'[a-b]\' 范围 ;如[A-Z]即A,B,C一直到Z都符合要求\r\nb124230\r\nb034325\r\na081016\r\na022021\r\na061048\r\nb103303\r\na013386\r\nb044525\r\n# more size.txt | grep \'[a-b]\'*\r\nb124230\r\nb034325\r\na081016\r\nm7187998\r\nm7282064\r\na022021\r\na061048\r\nm9324822\r\nb103303\r\na013386\r\nb044525\r\nm8987131\r\nB081016\r\nM45678\r\nB103303\r\nBADc2345\r\n\r\n# more size.txt | grep \'\' 单个字符;如[A] 即A符合要求\r\nb124230\r\nb034325\r\nb103303\r\nb044525\r\n# more size.txt | grep \'[bB]\'\r\nb124230\r\nb034325\r\nb103303\r\nb044525\r\nB081016\r\nB103303\r\nBADc2345\r\n\r\n# grep \'root\' /etc/group\r\nroot::0:root\r\nbin::2:root,bin,daemon\r\nsys::3:root,bin,sys,adm\r\nadm::4:root,adm,daemon\r\nuucp::5:root,uucp\r\nmail::6:root\r\ntty::7:root,tty,adm\r\nlp::8:root,lp,adm\r\nnuucp::9:root,nuucp\r\ndaemon::12:root,daemon\r\n\r\n# grep \'^root\' /etc/group 匹配正则表达式的开始行\r\nroot::0:root\r\n\r\n\r\n# grep \'uucp\' /etc/group\r\nuucp::5:root,uucp\r\nnuucp::9:root,nuucp\r\n\r\n# grep \'\\<uucp\' /etc/group\r\nuucp::5:root,uucp\r\n\r\n\r\n# grep \'root$\' /etc/group 匹配正则表达式的结束行\r\nroot::0:root\r\nmail::6:root\r\n\r\n\r\n# more size.txt | grep -i \'b1..*3\' -i :忽略大小写\r\n\r\nb124230\r\nb103303\r\nB103303\r\n\r\n# more size.txt | grep -iv \'b1..*3\' -v :查找不包含匹配项的行\r\n\r\nb034325\r\na081016\r\nm7187998\r\nm7282064\r\na022021\r\na061048\r\nm9324822\r\na013386\r\nb044525\r\nm8987131\r\nB081016\r\nM45678\r\nBADc2345\r\n\r\n# more size.txt | grep -in \'b1..*3\'\r\n1:b124230\r\n9:b103303\r\n15:B103303\r\n\r\n# grep \'$\' /etc/init.d/nfs.server | wc -l\r\n128\r\n# grep \'\\$\' /etc/init.d/nfs.server | wc –l 忽略正则表达式中特殊字符的原有含义\r\n\r\n15\r\n# grep \'\\$\' /etc/init.d/nfs.server\r\ncase \"$1\" in\r\n>;/tmp/sharetab.$$\r\n[ \"x$fstype\" != xnfs ] && \\\r\necho \"$path\\t$res\\t$fstype\\t$opts\\t$desc\" \\\r\n>;>;/tmp/sharetab.$$\r\n/usr/bin/touch -r /etc/dfs/sharetab /tmp/sharetab.$$\r\n/usr/bin/mv -f /tmp/sharetab.$$ /etc/dfs/sharetab\r\nif [ -f /etc/dfs/dfstab ] && /usr/bin/egrep -v \'^[ ]*(#|$)\' \\\r\nif [ $startnfsd -eq 0 -a -f /etc/rmmount.conf ] && \\\r\nif [ $startnfsd -ne 0 ]; then\r\nelif [ ! -n \"$_INIT_RUN_LEVEL\" ]; then\r\nwhile [ $wtime -gt 0 ]; do\r\nwtime=`expr $wtime - 1`\r\nif [ $wtime -eq 0 ]; then\r\necho \"Usage: $0 { start | stop }\"\r\n\r\n\r\n# more size.txt\r\n\r\nthe test file\r\ntheir are files\r\nThe end\r\n\r\n# grep \'the\' size.txt\r\nthe test file\r\ntheir are files\r\n\r\n# grep \'\\<the\' size.txt\r\nthe test file\r\ntheir are files\r\n\r\n# grep \'the\\>;\' size.txt\r\nthe test file\r\n\r\n# grep \'\\<the\\>;\' size.txt\r\nthe test file\r\n\r\n# grep \'\\<[Tt]he\\>;\' size.txt\r\nthe test file\r\nThe end

论坛徽章:
0
2 [报告]
发表于 2003-12-16 14:24 |只看该作者

Grep 用法

应该放到SHELL版里吧?

论坛徽章:
0
3 [报告]
发表于 2004-05-04 22:38 |只看该作者

Grep 用法

我的想法是想知道 string2 是否包含在 string1中, 通过这个方法,我可以查看$?的值,从而知道,string2是否包含在string1中,\r\n但是我又不想有结果输出,请问各位高手,是否还有别的方法吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP