Menu

Linux常用指令—grep(搜索过滤) – 378352673

0 Comment

Linux体系中grep命令是一种很的倒转术搜索器,它可以应用权威的表现搜索倒转术。,并将婚配的行特征出现。grep全名是Global Regular Expression Print,表现大局权威的表现版本的,它的应用用发动机发动是全部用户。。

如此的所其击中要害一部分事物是grep,它在东西或多个排成聚会的行走中搜索字母行模板。。以防模板组编空格,它不可避免的被援用。,全部的字母行作为排成聚会的行走名模板后。搜索发生被发送到规范输入。,不要冲击力原始排成聚会的行走的使满足。。

你可以用shell本子,因grep经过重现东西社会地位值来阐明搜索的社会地位,以防模板搜索成,之后重现0,以防搜索缺乏,之后重现1,以防搜索排成聚会的行走不存在,之后重现2。我们的可以应用这些重现值中止某个天然产生的倒转术处置。。

1。命令体式:

grep [调动球员]样品排成聚会的行走

2。命令效能:

过滤/搜索的标明的性格。权威的表现可以与多个命令一同应用。,应用特别的松紧带。

三.命令决定因素:

东西倒转术#不要疏忽二元系记载。   

-A<显示行数>   –after-context=<显示行数>此外显示契合性格生活方法的列更,并外行后显示使满足。   

-b   –byte-offset   #在显示契合生活方法的那聚会的在前,评分的第聚会的性格数。   

-B<显示行数>   –before-context=<显示行数>此外显示契合作风的行列更,并显示该行的后面使满足。   

C计数#计算式列数。   

-C<显示行数>    –context=<显示行数>或-<显示行数>此外显示契合作风的行列更,并显示行的使满足前后。   

-d <动作>      –directories=<动作>当标明目录簿而故障排成聚会的行走时,不可避免的应用此决定因素。,若非grep指导性的将重现的交流并中止练习。   

-e<范本生活方法>  –regexp=<范本生活方法>标明的字母行用作查找排成聚会的行走使满足的生活方法。。   

-E      –extended-regexp   #将生活方法为延伸的普通表现法来应用。   

-f<经常地排成聚会的行走>  –file=<经常地排成聚会的行走>标明的经常地排成聚会的行走,它的使满足组编东西或多个经常地生活方法。,让你找到的排成聚会的行走,契合经常地的使满足,体式是每行的经常地生活方法。。   

-F   –fixed-regexp   #将生活方法数数集中字母行的列表。   

-G   –basic-regexp   #将生活方法数数普通的表现法来应用。   

-h   –no-filename   #在显示契合生活方法的那聚会的在前,不要指挥的该行属于该排成聚会的行走的著名的。。   

-H   –with-filename   #在显示契合生活方法的那聚会的在前,该行所属排成聚会的行走的著名的。。   

我疏忽的机遇下#疏忽性格敏感分叉。   

-l    –file-with-matches   #列出排成聚会的行走使满足契合标明的生活方法的排成聚会的行走著名的。   

-L   –files-without-match   #列出排成聚会的行走使满足不契合标明的生活方法的排成聚会的行走著名的。   

-n   –line-number   #在显示契合生活方法的那聚会的在前,指挥的行的列数。。   

问–安定或缄默的#不显示究竟哪一个交流。   

-r   –recursive   #此决定因素的后果和标明“-d recurse”决定因素相同的人。   

——不注意音讯#不显示错误交流。   

-v   –revert-match   #显示不组编婚配倒转术的全部行。   

V版#显示版本交流。   

W字regexp #全字柱只显示。   

X线regexp #只显示全柱与柱。   

冲击力Y #左右决定因素标明的我的决定因素是相同的人的。

4。经常地表现:

grep的权威的表现

锚线的开端:^ grep'matches全部管道初用grep。    

抛锚线的终点:grep 'matches美钞全部行完毕与grep。    

东西性格婚配东西非换行符,如:婚配婚配后的恣意性格,之后是P。    

婚配零个或多个先前的性格,如:”*grep”婚配全部东西或多个空格后紧跟grep的行。    

表现恣意性格。   

婚配标明的性格长度,拿 … 来说,[ ] rep'matches grep和grep GG。    

婚配公开标明长度内的性格。,如:[ ^ a-fh-z ] rep'match不组编东西字母的东西开端,有典型的的一群。    

)技术援助委婚配的性格,如”\(love\)”,爱是1。    

\<      #锚定单词的开端,如:''\

锚定词的开头,每一线,如此的as'grep \ >婚配聚会的东西字,终极东西G。    

X { M } #反复性格x,m次,如:0 \ { 5 } 'matches行组编5。    

x\{m,反复性格x,至多M次,如:”o\{5,至多婚配5行。    

x\{m,n反复性格x,至多M次,不超过N次,如:”o\{5,10 } 'matches 5行– 10 O。   

W #,角色和数字性格,这执意[就],如:G W×p'matches零个或多个角色或数字性格以下G,之后是P。   

W # \ W推翻模型,婚配东西或多个非单词性格,譬如专门时期。   

B #字锁的暗示,拿 … 来说,bgrep \ b'only竞赛grep。  

Posix性格

在不同样的国民包含单对单性格编码,POSIX(The Portable Operating System Interface)补充物了特别的性格类,如:alnum [:]是一种写信方法[就]。把它们放进[变为]东西权威的表现,如[A- Za-z0-9]或[[:alnum:]]。Linux下的grep是此外fgrep同样的,性格类,支撑物POSIX。

Alnum:] #字母数字性格

甲:#性格]

数字:] #数字性格

图:] #非空性格(非空格、把持性格)   

下:] #小写字母性格

Cntrl:] #把持性格

特征:] #非空性格(包含空格)

刺痕:] #标点

挡住通路:] #全部空白性格(换行符,空格,)技术援助委)

上:] #大写性格

xdigit:] #巫婆数字(0-9,a-f,A-F)

5。应用的围住:

围住1:查找标明的行动

命令:

PS – EF | grep SVN

输入:

【root@localhost PS – EF | grep SVN

root 4943   1      0  Dec05 ?   00:00:00 svnserve -d -r /opt/svndata/grape/

root 16867 16838  0 19:53 pts/0    00:00:00 grep svn

【root@localhost

阐明:

第东西记载是查找转换。;二是grep转换本身,故障真的找东西转换。

围住2:查找标明的行动总计

命令:

PS – EF | grep SVN -c

PS – EF | grep -C SVN

输入:

【root@localhost PS – EF | grep SVN -c

2

【root@localhost PS – EF | grep -C SVN 

2

【root@localhost

阐明:

围住3:从排成聚会的行走中搜索保留字搜索

命令:

猫| grep -F

输入:

[与试验有关的] # root@localhost猫

hnlinux

ubuntu

ubuntu linux

redhat

Redhat

linuxmint

[与试验有关的] # root@localhost猫

linux

Redhat

[与试验有关的] root@localhost 猫| grep -F

hnlinux

ubuntu linux

Redhat

linuxmint

[与试验有关的] root@localhost

阐明:

输入排成聚会的行走组编从中读取的保留字的使满足行。

围住3:从排成聚会的行走中搜索保留字搜索 且显示行数

命令:

猫| grep – NF

输入:

[与试验有关的] # root@localhost猫

hnlinux

ubuntu

ubuntu linux

redhat

Redhat

linuxmint

[与试验有关的] # root@localhost猫

linux

Redhat

[与试验有关的] # root@localhost猫| grep -nf 

1:hnlinux

4:ubuntu linux

6:RedHat

7:linuxmint

[与试验有关的] root@localhost

阐明:

输入排成聚会的行走组编从中读取的保留字的使满足行。,并显示每行的行数。

例5:从排成聚会的行走中查找关键词

命令:

grepLinux

输入:

[与试验有关的] root@localhost grepLinux 

hnlinux

ubuntu linux

linuxmint

[与试验有关的] root@localhost grep -n ”linux”  

1:hnlinux

4:ubuntu linux

7:linuxmint

[与试验有关的] root@localhost

阐明:

例6:从多个排成聚会的行走中搜索保留字

命令:

grepLinux 

输入:

[与试验有关的] root@localhost grep -n ”linux”   

:1:hnlinux

:4:ubuntu linux

:7:linuxmint

1:Linux

[与试验有关的] root@localhost grepLinux  

:hnlinux

:ubuntu linux

:linuxmint

:linux

[与试验有关的] root@localhost

阐明:

多排成聚会的行走时期,当输入查询交流的使满足行时,该排成聚会的行走的著名的将在该行的顶部命名,并添加:作为

例7:grep不显示本身的转换

命令:

ps aux grep \ | [S] SH

ps aux grep grep -v | SSH |grep

输入:

[与试验有关的] root@localhost ps aux|grep ssh

root   2720      62656  1212 ?      Ss   Nov02   0:00 /usr/sbin/sshd

root  16834      88088  3288 ?      Ss   19:53   0:00 sshd: root@pts/0 

root  16901      61180   764 pts/0  S+   20:31   0:00 grep ssh

[与试验有关的] root@localhost ps aux grep \ | [S] SH]

[与试验有关的] root@localhost ps aux grep \ | [S] SH

root   2720      62656  1212 ?      Ss   Nov02   0:00 /usr/sbin/sshd

root  16834      88088  3288 ?      Ss   19:53   0:00 sshd: root@pts/0 

[与试验有关的] root@localhost ps aux grep grep -v | SSH |grep

root   2720      62656  1212 ?      Ss   Nov02   0:00 /usr/sbin/sshd

root  16834      88088  3288 ?      Ss   19:53   0:00 sshd: root@pts/0

阐明:

例8:找出从U开端的垂线。

命令:

猫| grep ^ U

输入:

[与试验有关的] # root@localhost猫|grep ^u

ubuntu

ubuntu linux

[与试验有关的] root@localhost

阐明:

例9:在非u开端时输入行使满足。

命令:

猫| grep ^ [ ^ ]

输入:

[与试验有关的] # root@localhost猫|grep ^[^u]

hnlinux

redhat

Redhat

linuxmint

[与试验有关的] root@localhost

阐明:

例10:输入以帽子开头的行使满足。

命令:

猫| grep的帽子

输入:

[与试验有关的] # root@localhost猫|grep hat$

redhat

Redhat

[与试验有关的] root@localhost

阐明:

例11:输入IP地址

命令:

     ifconfig eth0|grep -E “([0-9]{1,3}\.){3}[0-9]”

输入:

[与试验有关的] root@localhost ifconfig eth0|grep “[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}”

          inet addr:  Bcast:  Mask:

[与试验有关的] root@localhost ifconfig eth0|grep -E “([0-9]{1,3}\.){3}[0-9]”

          inet addr:  Bcast:  Mask:

[与试验有关的] root@localhost

阐明:

例12:显示组编ED或性格的使满足行。

命令:

猫| grep -E|

输入:

[与试验有关的] # root@localhost猫|grep -E “peida|com”

[与试验有关的] # root@localhost猫|grep -E “ed|at”

redhat

Redhat

[与试验有关的] root@localhost

阐明:

例13:显示礼物目录簿下面以.txt 开头的排成聚会的行走击中要害全部组编每个字母行至多有7个陆续小写字母性格的字母行的行

命令:

grep[A-Z] \ { 7 } * .txt

输入:

[与试验有关的] root@localhost grep[A-Z] \ { 7 } * .txt

:hnlinux

:

:linuxmint

[与试验有关的] root@localhost

围住14:日记排成聚会的行走太大,丑,我们的不可避免的看一眼我们的意思是从中获得利益或财富什么。,或许获得利益或财富相同的人的记载,拿 … 来说,不注意404个日记交流。

命令:

grep’。| grep电动车404

grep ”.” |grep -Ev ”(404|/photo/|/css/)” > 

grep’。| grep -E 404

输入:

[与试验有关的] root@localhost grep “.”|grep -Ev “404” > 

阐明:下面3句命令后面两句是在礼物目录簿下对排成聚会的行走中止查找,找到那不组编404的行,把它们放在中心区,反面离弃V,那执意把404行放出来。

发表评论

电子邮件地址不会被公开。 必填项已用*标注