linux常用命令 grep

ccpp的头像 ccpp 9 2015-01-04 17:30 0

 基本信息

× 1   

浏览数: 5596

分享时间: 4 年 前

grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

一般格式 grep [选项] 基本正则式 [文件]


选项:
-c 不输出内容只统计匹配行数
grep -c "123" filename 相当于 grep "123" filename | wc -l
-i 不区分大小写
grep -i "ok" filename 匹配包含ok,Ok,oK,OK的所有行
-h 查询多文件时不显示文件名
grep -h "123" *.txt 不加-h时会在每一行前显示该行所在文件名
-l 查询多文件是只显示包含匹配字符的文件名
-n 查询匹配行及行号
-v 显示不包含匹配文本的所有行
-? 同时显示匹配行上下的?行

如:grep -2 "123" filename同时显示匹配行的上下2行。


正则:
^ 锚定行的开始 
如:'^grep'匹配所有以grep开头的行。 
$ 锚定行的结束 
如:'grep$'匹配所有以grep结尾的行。 
. 匹配一个非换行符的字符
如:'gr.p'匹配gr后接一个任意字符,然后是p。 
* 匹配零个或多个先前字符 
如:'a*grep'匹配所有一个或多个字符a后紧跟grep的行。 
.*一起用代表任意字符。
[] 匹配一个指定范围内的字符
如'[Gg]rep'匹配Grep和grep。 
[^] 匹配一个不在指定范围内的字符
如:'[^A-FH-Z]rep'匹配不包含A-R和T-Z的一个字母开头,紧跟rep的行。 
\(..\)标记匹配字符
如'\(love\)',love被标记为1。 
\< 锚定单词的开始
如:'\<grep'匹配包含以grep开头的单词的行。 
\> 锚定单词的结束
如'grep\>'匹配包含以grep结尾的单词的行。
\b 单词锁定符

如: '\bgrep\b'只匹配grep。 


特殊事项:

1.引号的使用
首先说明引号的作用,在shell中使用grep一般要打引号,例如:"grep" 这样做,一是防止被误解为shell命令,二是可以查找多个单词的字符串。如,"aaa  bbb"。如果没引号,将会把bbb误认为文件。

一般在grep中输入字符串参数是打双引号,如:$mystr="aaa";grep "$mystr" file,这样$mystr会先被替换成aaa,执行操作是grep "aaa" file。而在单引号中,$mystr不被识别,因此,单引号一般用在正则表达式的匹配上,这样可防止于grep中使用的模式与shell命令中的特殊方 式混淆。


2.egrep和 grep -E的元字符扩展

egrep是扩展的grep,支持基本正则和扩展正则,等同于grep -E。扩展集如下:

+ 匹配一个或多个先前的字符。
如:'[a-z]+able',匹配一个或多个小写字母后跟able的串。
a|b|c 匹配a或b或c。
如:grep|sed匹配grep或sed
( ) 分组符号
如:love(able|rs)匹配loveable或lovers。

12 3 [下一页]

  • ossaa的头像 ossaa 2018-06-22 15:34 代码数:0

    Superbly written article, if only all bloggers offered the same content as you, the internet would be a far better place.. קידום אתרים

  • Hixujinwei的头像 Hixujinwei 2015-01-05 16:06 代码数:0
    mark
  • ossaa的头像 ossaa 2018-06-24 22:20 代码数:0

    I just found this blog and have high hopes for it to continue. Keep up the great work, its hard to find good ones. I have added to my favorites. Thank You.

    Lebensversicherung Rückabwickeln

  • ossaa的头像 ossaa 2018-06-25 22:17 代码数:0

    I am very happy to discover your post as it will become on top in my collection of favorite blogs to visit.

    virtual dogs game

  • gererik的头像 gererik 2018-07-04 17:21 代码数:0

    I would like to say that this blog really convinced me to do it! Thanks, very good post.new property launch

  • gererik的头像 gererik 2018-07-04 17:22 代码数:0

    I would like to say that this blog really convinced me to do it! Thanks, very good post.new property launch  

  • gererik的头像 gererik 2018-07-07 14:15 代码数:0

    Admiring the time and effort you put into your blog and detailed information you offer!..Medicaid Dentist Tomball Tx

  • radhakrish的头像 radhakrish 2018-09-15 13:01 代码数:0

    Radhe Krishan Images, Download Free Radhe Krishana Wallpapers, Shree Radhe Krishana Images ... The beautiful HD image of Lord Krishna and Radhaji.
     

  • shrwan的头像 shrwan 2018-11-12 08:27 代码数:0

    Superbly written article, Most of the time I don’t make comments on websites, but I'd like to say that this article really forced me to do so. https://capitalof.in , https://wordkhojo.in , http://gkguide.in , https://hdonline.in , https://fontkhojo.in

  • gererik的头像 gererik 2018-07-09 18:46 代码数:0

    Most of the time I don’t make comments on websites, but I'd like to say that this article really forced me to do so. Really nice post!  buy youtube views

您的评论: