详解 Shell中的grep命令_linux shell

用GRIP搜索原文发送

也许希望的事在多个原文发送中找到字母行,你可以运用GRIP命令。GRIP在原文中搜索明确提出的字母行。举个围住:假定您在‘/usr/src/linux/Documentation”大学健康状况便览下搜索带字母行‘magic”的发送:

$ grep magic /usr/src/linux/Documentation/*
:* How do I enable the magic SysRQ key?
:* How do I use the magic SysRQ key?

经过发送‘”包括该字母行,议论的是 SysRQ 的功用。

默许健康状况下,GRIP只搜索流传的大学健康状况便览。也许大学健康状况便览中有诸多子大学健康状况便览,GRIP将以随球体现列出:

grep: sound: Is a directory

这可能会使GRIP的出口难以读物。。处理这个成绩有两种方式。:

显式搜索子大学健康状况便览:grep -r

疏忽子大学健康状况便览:grep -d skip

自然,也许你愿望落落大方的出口,你可以经过 管道

把它蓄长更少:

$ grep magic /usr/src/Linux/Documentation/* | less

左右,你可以更轻易地读物。。

要注重的一件事,必然要预备一种过滤发送的方式。。也许你遗忘了,GRIP将一向等候它,直到顺序定方位。也许你冲突左右的健康状况,范围CTRL C,那时的再试。(要紧的!!)

以下是少许风趣的命令行参量:

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 或 结构化线,
grep pattern1 files | grep pattern2 :显示竞赛 pattern1 再次婚配风尚2 的行。

有少许特别的记分用于搜索。:

\< 和 \> 注意:一个人词的身体前部和终止。

譬如:

grep man * 会婚配 ‘Batman''、‘manic''、人et cetera。, 
grep ''\'' 只配人,而做错蝙蝠侠或躁狂等字母行。。 

”^”:婚配字母行谎言该行的头部。,

”$”:线终止的婚配字母行,

也许不运用命令行参量,尝试GRIP的图形接口,如 reXgrep 。本软件预备 AND、OR、NOT 相等措词,斑斓的钮扣 🙂 。也许你只需求更明确的的出口,试试看。 fungrep 。

GRIP的传播命令措词

1. 双引号与引号会诊

在g r e 当字母行参量输出到P命令中时,最好把它包括在双引号中。。譬如:”m y s t r i n g”。左右做有两个引起,一是先发制人读错被读错。 s h e l L命令,两个字母行可以用来查找一个人关于的单词。,譬如:”jet plane”,也许不运用双引号将其括起来,因而疏忽 p l a n e

将被认为理所当然是一份发送,查询末后将赢利发送不存在的相反的音讯。。

当变量被转让时,也一定运用双引号,相同的: g r e p”$ M Y VA R发送名,也许不左右,弱赢利末后。

转让风尚婚配时,一定运用[根@ MYPC ]。 ]# echo `grep 123 `  注重是反引号)

2. 协同G r e P选择能力有:

-c   仅计算婚配行的计数。
-i   不加区别的情况(仅对着干单飞使具有特征)。
-h   查询多个发送时不显示发送名。
-l   当查询多个发送时,只出口包括MMatCH的发送名。。
-n   显示婚配线和行数。
-s   不显示不存在或不婚配原文的相反的音讯。。
-v   显示不包括婚配原文的一切行。

3. 多发送心爱的的特别查询

$ grep “sort”*.doc   ( 整个在流传的大学健康状况便览中。 d o C发送心爱的的查找字母行 o r t”)
 $ grep “sort it” *   或一切发送心爱的的查询词排序 it”)

上面的一切示例都援用单飞发送心爱的的查询。

4. 行婚配

$ grep -c “48″ 
$ 4           (#g r e P赢利数字4,意思是有4皮箱括字母行4。 8″。)
$ grep “48″      显示包括4 8个字母行的4行原文

5. 显示充分发挥潜在的能力婚配风尚的一切徒步旅行:

[root@mypc oid2000]# grep -n 1234 
1:1234
3:1234ab

6. 准确婚配

[root@mypc oid2000]# grep “1234\>” 
1234

7. 查询无法律效力,以养护开端或完毕的行。。

^和$的运用可以用来查询无法律效力。运用- N参量显示现实行数。

[root@mypc oid2000]# grep -n “^$”   (赢利末后) 2:  它显示秒行是空的。
[root@mypc oid2000]# grep -n “^abc”  从ABC开端查询行
[root@mypc oid2000]# grep -n “abc$”  用ABC查询行完毕

8. 婚配特别使具有特征,具有特别意思的剧中人,相同的$ . ‘ ” * [] ^ | \ + ? ,必然要在特定的使具有特征先于添加。

[root@mypc oid2000]# grep “\.”  一切的.暂时首都包括在心爱的的查询中。
[root@mypc oid2000]# grep “my\.conf”  查询发送名My。 c o n f的垂线

9. 大学健康状况便览查询

[root@mypc oid2000]# ls -l |grep “^d”   也许要查询列表列表心爱的的大学健康状况便览
[root@mypc oid2000]# ls -l |grep “^d[d]“  在大学健康状况便览中查询不包括大学健康状况便览的一切发送。
[root@mypc]# ls -l |grpe “^d…..x..x” 运用可执行性靠动力行进大学健康状况便览查询其他用户和用户集团分子

关于所述是小编给全部绍介的Shell心爱的的grep命令,希望的事能帮到你,也许你有诸如此类成绩,请给我留言。,小编辑软件会即时恢复每一个人人!