linux grep

来源:互联网 发布:帖木儿帝国知乎 编辑:程序博客网 时间:2024/05/30 04:19
grep [options][options]主要参数:-c:只输出匹配行的计数。-I:不区分大 小写(只适用于单字符)。-h:查询多文件时不显示文件名。-l:查询多文件时只输出包含匹配字符的文件名。-n:显示匹配行及 行号。-s:不显示不存在或无匹配文本的错误信息。-v:显示不包含匹配文本的所有行。pattern正则表达式主要参数:\: 忽略正则表达式中特殊字符的原有含义。^:匹配正则表达式的开始行。$: 匹配正则表达式的结束行。\<:从匹配正则表达 式的行开始。\>:到匹配正则表达式的行结束。[ ]:单个字符,如[A]即A符合要求 。[ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。。:所有的单个字符。* :有字符,长度可以为0。常用grep实例(1)多个文件查询    grep "sort" *.doc       #见文件名的匹配(2)行匹配:输出匹配行的计数    grep -c "48" data.doc   #输出文档中含有48字符的行数(3)显示匹配行和行数    grep -n "48" data.doc       #显示所有匹配48的行和行号(4)显示非匹配的行    grep -vn "48" data.doc      #输出所有不包含48的行(4)显示非匹配的行    grep -vn "48" data.doc      #输出所有不包含48的行(5)大小写敏感    grep -i "ab" data.doc       #输出所有含有ab或Ab的字符串的行4, 正则表达式的应用(1)正则表达式的应用 (注意:最好把正则表达式用单引号括起来)    grep '[239].' data.doc      #输出所有含有以2,39开头的,并且是两个数字的行(2)不匹配测试    grep '^[^48]' data.doc      #不匹配行首是48的行(3)使用扩展模式匹配    grep -E '219|216' data.doc(4) ...    这需要在实践中不断应用和总结,熟练掌握正则表达式。5, 使用类名可以使用国际模式匹配的类名:[[:upper:]]   [A-Z][[:lower:]]   [a-z][[:digit:]]   [0-9][[:alnum:]]   [0-9a-zA-Z][[:space:]]   空格或tab[[:alpha:]]   [a-zA-Z]grep 配合sedsed -i s/aaa/bbb/g `grep aaa -rl ./`
0 0
原创粉丝点击