主頁 > 知識庫 > Linux下grep命令使用實例

Linux下grep命令使用實例

熱門標簽:北京市地圖標注 百度地圖標注陰影動態(tài) 廳外呼梯系統(tǒng)布線 焦作人工智能電話機器人軟件 2020電銷機器人排行 鹽城客服外呼系統(tǒng)軟件 貴陽語音電銷機器人招商 淘寶系統(tǒng)退貨外呼項目考試答案 鄭州營銷外呼系統(tǒng)運營商

grep命令參數

grep ‘word’ 文件名
grep ‘word’ 文件1 文件2 文件3 …文件N
grep ‘字符串1 字符串2’ 文件名
cat 文件名| grep ”字符串“
命令 | grep “字符串”
grep –color “字符串” 文件名

如何使用grep命令去搜索某個文件中的內容呢?

查找 /etc/passwd 文件中是否存在user1這個用戶,可以使用下面的命令:

復制代碼
代碼如下:

[root@devops ~]# grep user1 /etc/passwd
user1:x:501:501::/home/user1:/bin/bash
[root@devops ~]#

如果想忽略大小寫去查找比如:User1,USER1或者其它的組合,可以使用-i選項

復制代碼
代碼如下:

[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 命令遞歸查找

你可以遞歸去查找某個目錄下各級子目錄里的匹配查找模式的行,使用-r 選項

復制代碼
代碼如下:

[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去匹配某一個單詞

選項-w使grep命令只查找作為一個詞,而不是詞的一部分去做匹配

舉例說明:

復制代碼
代碼如下:

[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″的模式有兩行,那么當你只想匹配一個完整的user1這個單詞的時候,可以使用-w選項。

使用grep命令去查找2個不同的詞


復制代碼
代碼如下:

[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)計grep查找出來的行數

grep命令可以使用-c選項來顯示出匹配到的行數


復制代碼
代碼如下:

[root@devops ~]# grep -c ‘user1′ /etc/passwd
2


使用-n 選項可以顯示出查找到的行在文件中的行號


復制代碼
代碼如下:

[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 選項來顯示不匹配的行,例如:

復制代碼
代碼如下:

[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命令經常會和linux或unix管道符搭配使用,如顯示硬盤設備的名字:

復制代碼
代碼如下:

[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-

標簽:大理 周口 六安 大興安嶺 青島 大慶 遼寧 樂山

巨人網絡通訊聲明:本文標題《Linux下grep命令使用實例》,本文關鍵詞  Linux,下,grep,命令,使用,實例,;如發(fā)現本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Linux下grep命令使用實例》相關的同類信息!
  • 本頁收集關于Linux下grep命令使用實例的相關信息資訊供網民參考!
  • 推薦文章