linux grep命令详解 – 飘飘雪

1。感染
Linux零碎中grep命令是一种弱小的译文搜索器,可以应用有规律的腔调来搜索译文,和马 婚配线被蜡纸油印机出现。。它的全名是全球 Regular Expression Print,表现大局有规律的腔调版本的,它的应用权力是各种的用户。。

2。体式
grep [选择能力]

三.关键参量
[选择能力]关键参量:

或- tex不要疏忽二元系通知。。
-A<显示列数>或–after-context=<显示列数>以及显示契合典范设计的列超过,在列质地和显示随后。
-b或–byte-offset在显示契合典范设计的列先前,列的第本人刻的位数被徽章。。
-B<显示列数>或–before-context=<显示列数>以及显示契合典范设计的列超过,显示列质地先前。
C或数计算,契合典范的办法列数。
-C<显示列数>或-交流声<显示列数>或-<显示列数>以及显示契合典范设计的列超过,并在前后显示列的质地。。
-d<进行动作>或–directories=<进行动作>当指出列于表上而故障提出申请时,应该应用此参量。,要不grep方针将返乡的通讯并中止季节性竞赛。
-e<范本设计>或9<范本设计>指出的刻串作为找寻FI的质地模板。
-E或–extended-regexp   将范本设计为延伸的普通表现法来应用。
-f<范本提出申请>或–file=<范本提出申请>指出模板提出申请,它的质地包括本人或多个典范设计。,让grep查找契合范本前提的提出申请质地,该体式是每个列的典范。。
-F或–fixed-regexp   将范本设计论点主力队员刻串的列表。
-G或–basic-regexp   将范本设计论点普通的表现法来应用。
-h或–no-filename在显示契合典范设计的列先前,不要提示列属于该列的提出申请的名字。。
-H或–with-filename在显示契合典范设计的列先前,列属于该提出申请的名字。。
i或-疏忽格疏忽刻尺寸的辨别。
-l或–file-with-matches   列出提出申请质地契合指出的范本设计的提出申请名字。
-L或–files-without-match   列出提出申请质地不契合指出的范本设计的提出申请名字。
-n或–line-number在显示契合典范设计的列先前,成绩列的列数。。
或别说话或缄默无力的显示任何的通讯。。
-r或–recursive   此参量的音响效果和指出“-d recurse”参量同一的。
或许没音讯不显示错误通讯。
v或-返乡婚配倒退查找。
v或-版本显示版本通讯。
W或字regexp只显示全字柱。
-x或–line-regexp   只显示全列契合的列。
y因此参量的功用与指出的i参量同一的。。
帮忙在线帮忙。

浇铸有规律的腔调的关键参量:
\: 疏忽有规律的腔调中某个特别刻的意图。
^:有规律的腔调婚配的开端。
$: 该行的末了,有规律的腔调。
\<:从婚配有规律的表达 式的行开端。
\>:到与有规律的腔调婚配的行的最后部份处。
[ ]:独自地刻,如A或A契合需要量 。
[ – ]:延伸,如[A-Z],即A、B、C Z早已满意需要量 。
。:各种的独自地刻。
* :有刻,扣押可以是0。。

应用简略的命令诉讼手续
$ grep ‘test’ d*
显示各种的以d起初是的提出申请 试验线。
$ grep ‘test’ aa bb cc
显示AA,bb,cc提出申请中婚配试验线。
$ grep [A-Z] \ { 5 aa
显示包括反正5个延续的lowerca各种的弦线。
$ grep ‘w\(es\)t.*\1′ aa
以防正西是婚配的,因此ES仓库在内存中。,徽章为1,因此搜索任何的刻,刻后跟以下刻 另本人ES(\ 1),朕碰见开账户。以防你应用egrep或grep -E,不要用\来理解不了,可以目前的写W(ES)1。。

命令应用复杂的诉讼手续
假设你在找寻本人刻在/usr/src/linux列于表上/提出申请的目前的 刻串用魔法变出提出申请:
$ grep magic /usr/src/Linux/Doc/*
:* How do I enable the magic SysRQ key?
:* How do I use the magic SysRQ key?
穿着提出申请’’包括该刻串,议论 SysRQ 的功用。
默许制约下,grep只搜索流传的列于表上。以防 因此列于表上下有很多子列于表上,grep将被列在上面的表格:
grep: sound: Is a directory
这可能性使grep 出口很难读。。处理因此问题有两种办法。:
搜索子列于表上详述的:grep -r
或疏忽子列于表上:grep -d skip
以防有很多的话 出口时,你可以经过管道把它去世给‘不’。:
$ grep magic /usr/src/Linux/Documentation/* | less
这么,你可以更轻易地标明。。

明显地要小心,应该装备提出申请过滤器器(用手迹搜索各种的提出申请) *)。以防你遗忘了,grep无休止地在手边,直到顺序中止为止。以防你冲突这么的制约,按 ,因此再试。

在这一点上宁愿风趣的命令行参量:
grep -i pattern files :不区别尺寸写的搜索。默许制约下的轻视,
grep -l pattern files :只列出婚配的提出申请名,
grep -L pattern files :列表不婚配提出申请名,
grep -w pattern files :只婚配一并单词,故障本人刻串的偏微商,如婚配的神奇,而故障用魔法变出,
grep -C number pattern files :婚配环境识别显示[数字],
grep pattern1 | pattern2 files :显示婚配 pattern1 或 pattern2 的行,
grep pattern1 files | grep pattern2 :显示婚配 pattern1 再配 pattern2 的行。

grep -n pattern files  您可以显示线数通讯。

grep -c pattern files  你可以找到总店的电传代码。

在这一点上宁愿搜索的特别符号。:
\< 和 \> 成绩本人字的起初是和最后部份,识别。
比如:
grep man * 会婚配 ‘Batman’、’manic’、人如此云云,
grep ‘\grep ‘\’ 只配嘿,而故障蝙蝠侠或热衷和否则刻串。
‘^’:在刻串的起初是,
‘$’:社交聚会串婚配的刻串。 尾,

发表评论

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