grep命令怎么在Linux中使用?相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。
創(chuàng)新互聯(lián)公司專注于企業(yè)營(yíng)銷型網(wǎng)站建設(shè)、網(wǎng)站重做改版、龍山網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5開(kāi)發(fā)、商城開(kāi)發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為龍山等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。
grep命令參數(shù)
grep ‘word’ 文件名
grep ‘word’ 文件1 文件2 文件3 …文件N
grep ‘字符串1 字符串2’ 文件名
cat 文件名| grep ”字符串“
命令 | grep “字符串”
grep –color “字符串” 文件名
如何使用grep命令去搜索某個(gè)文件中的內(nèi)容呢?
查找 /etc/passwd 文件中是否存在user1這個(gè)用戶,可以使用下面的命令:
代碼如下:
[root@devops ~]# grep user1 /etc/passwd
user1:x:501:501::/home/user1:/bin/bash
[root@devops ~]#
如果想忽略大小寫(xiě)去查找比如:User1,USER1或者其它的組合,可以使用-i選項(xiàng)
代碼如下:
[root@devops ~]# grep -i user1 /etc/passwd
user1:x:501:501::/home/user1:/bin/bash
USER1:x:502:502::/home/USER1:/bin/bash
[root@devops ~]#
grep 命令遞歸查找
你可以遞歸去查找某個(gè)目錄下各級(jí)子目錄里的匹配查找模式的行,使用-r 選項(xiàng)
代碼如下:
[root@devops ~]# grep -r user1 /etc | more
/etc/group-:user1:x:501:
/etc/shadow:user1:!!:16176:0:99999:7:::
/etc/group:user1:x:501:
/etc/passwd-:user1:x:501:501::/home/user1:/bin/bash
/etc/gshadow-:user1:!::
/etc/shadow-:user1:!!:16176:0:99999:7:::
/etc/passwd:user1:x:501:501::/home/user1:/bin/bash
/etc/gshadow:user1:!::
/etc/postfix/virtual:# user1@virtual-alias.domain address1
[root@devops ~]#
使用grep去匹配某一個(gè)單詞
選項(xiàng)-w使grep命令只查找作為一個(gè)詞,而不是詞的一部分去做匹配
舉例說(shuō)明:
代碼如下:
[root@devops ~]# grep user1 /etc/passwd
user1:x:501:501::/home/user1:/bin/bash
user1add:x:503:503::/home/user1add:/bin/bash
[root@devops ~]# grep -w ‘user1′ /etc/passwd
user1:x:501:501::/home/user1:/bin/bash
在本例中能夠匹配“user1″的模式有兩行,那么當(dāng)你只想匹配一個(gè)完整的user1這個(gè)單詞的時(shí)候,可以使用-w選項(xiàng)。
使用grep命令去查找2個(gè)不同的詞
代碼如下:
[root@devops ~]# egrep -w “user1|USER1″ /etc/passwd
user1:x:501:501::/home/user1:/bin/bash
USER1:x:502:502::/home/USER1:/bin/bash
[root@devops ~]#
統(tǒng)計(jì)grep查找出來(lái)的行數(shù)
grep命令可以使用-c選項(xiàng)來(lái)顯示出匹配到的行數(shù)
代碼如下:
[root@devops ~]# grep -c ‘user1′ /etc/passwd
2
使用-n 選項(xiàng)可以顯示出查找到的行在文件中的行號(hào)
代碼如下:
[root@devops ~]# grep -n ‘user1′ /etc/passwd
23:user1:x:501:501::/home/user1:/bin/bash
25:user1add:x:503:503::/home/user1add:/bin/bash
grep反向查找只顯示不匹配的行
你可以使用-v 選項(xiàng)來(lái)顯示不匹配的行,例如:
代碼如下:
[root@devops ~]# grep -v user1 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
linux 管道符和grep命令的搭配使用
grep命令經(jīng)常會(huì)和linux或unix管道符搭配使用,如顯示硬盤設(shè)備的名字:
代碼如下:
[root@devops ~]# dmesg | egrep ‘(s|h)d[a-z]’
NMI watchdog disabled (cpu0): hardware events not enabled
sd 2:0:0:0: [sda] 41943040 512-byte logical blocks: (21.4 GB/20.0 GiB)
sd 2:0:0:0: [sda] Write Protect is off
sd 2:0:0:0: [sda] Mode Sense: 61 00 00 00
sd 2:0:0:0: [sda] Cache data unavailable
sd 2:0:0:0: [sda] Assuming drive cache: write through
sd 2:0:0:0: [sda] Cache data unavailable
sd 2:0:0:0: [sda] Assuming drive cache: write through
sda: sda1 sda2
sd 2:0:0:0: [sda] Cache data unavailable
sd 2:0:0:0: [sda] Assuming drive cache: write through
sd 2:0:0:0: [sda] Attached SCSI disk
dracut: Scanning devices sda2 for LVM logical volumes vg_devops/lv_root vg_devops/lv_swap
EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts:
SELinux: initialized (dev sda1, type ext4), uses xattr
顯示cpu模塊名字:
[root@devops ~]# cat /proc/cpuinfo | grep -i ‘Model’ model : 42 model name : Intel(R) Core(TM) i3-2350M CPU @ 2.30GHz [root@devops ~]#
如何只輸出包含模式的文件名,而不是輸出文本行
[root@devops ~]# grep -l ‘user1′ /etc/* /etc/group /etc/group- /etc/gshadow /etc/gshadow- /etc/passwd /etc/passwd- /etc/shadow /etc/shadow-
看完上述內(nèi)容,你們掌握grep命令怎么在Linux中使用的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!