grep全稱是global regular expression print,是乙個能使用正規表示式文字過濾、搜尋工具,並把匹配的行列印出來,grep使用許可權是所有使用者。
一、基本格式
grep [-vioqabce] parttern /dir/path/file
二、常見用法
# grep root /etc/passwd 查詢到有root的行並列印出來
# grep -v root /etc/passwd 查詢到沒有root的行並列印出來
# grep -i root /etc/passwd 查詢到有root的行並列印出來,忽略字母大小寫
# grep -o root /etc/passwd 查詢到有root本身並且列印出來
# grep -q root /etc/passwd 靜默模式,不列印出來
# grep -c root /etc/passwd 顯示出匹配到的列數
# grep -n root /etc/passwd 查詢到有root的行,列印出來並顯示行號
# cat /etc/passwd | grep -f /tmp/text.txt 指定規則檔案text.txt,並以此為規則從passwd中查詢
# grep -a root /etc/passwd 查詢到有root的行,並且與其後兩行列印出來
# grep -b root /etc/passwd 查詢到有root的行,並且與其前兩行列印出來
# grep -c root /etc/passwd 查詢到有root的行,並將其前兩行和後兩行列印出來
# cat /etc/passwd | grep -e "root|ming" 查詢root或者ming的行並列印出來
三、規則表示式
1、字元匹配
. 匹配任意單個字元
[n] 匹配n字元(任意單個字元)
[^n] 匹配除n外的字元
[:alpha:] 匹配任意字元
[:upper:] 匹配任意大寫字母
[:lower:] 匹配任意小寫字母
[:digit:] 匹配任意數字
[:space:] 匹配所有空白字元
[:punct:] 匹配標點
[:alnum:] 匹配字元和數字
2、次數匹配
* 匹配前面的字元任意次
\? 前面的字元可有可無
\+ 匹配前面的字元至少一次
\ 匹配前面的字元n次
\ 匹配前面的字元n到m次
3、位置錨定
^ 行首錨定,位於最左側
$ 行尾錨定,位於最右側
\< 詞首錨定
\> 詞尾錨定
四、幾個練習
1、如果使用者root存在,就顯示其預設的shell程式
# id root && grep "^root\>" | cut -d: -f7
2、找出/etc/passwd中的兩位數或三位數
# grep "\<[0-9]\\>" /etc/passwd
3、找出/etc/rd.d/rc.sysinit檔案中至少以乙個空白字元開頭,且後面存在非空白字元的行
# grep "^[[:space:]]\+[^[:space:]]" /etc/rd.d/rc.sysinit
4、找出netstat -tan命令中 以listen後跟0個、1個以及多個空白字元結尾的行
# netstat -tan | grep "listen[[:space:]]*$"
5、找出使用者名稱和bash名相同的行
# grep "\(^[[alnum]]\+\>\).*\1$"
6、找出root、centos和ming使用者的行的使用者名稱uid和shell
# grep -e "^(root|centos|ming)\>" /etc/passwd | cut -d: -f1,3,7
以上是本人記錄一些淺顯的用法,如有錯誤,請指正。
Linux命令三劍客
grep的簡單使用 grep的主要作用 文字搜尋工具,根據使用者指定的 模式 對目標文字逐行進行匹配檢查 列印匹配到的行 grep的工作模式 由正規表示式字元及文字字元所編寫的過濾條件 grep的用法 grep options pattern file options v 顯示不被pattern匹配...
linux命令三劍客grep sed awk
grep cinvabc word filename c 匹配的行數,輸出行數 grep c install create.log2.i 匹配不區分大小寫,輸出所以內容 grep i dddd test3.n 輸出所有並顯示行數 4.v 取反,輸出所有沒有 install 的行 5.r 查乙個目錄下...
linux 三劍客之 grep
grep 是 linux系統中最重要的命令之一 其功能是從文字或者管道資料中篩選匹配的行及資料 如果配置正規表示式技術一起使用,則其功能更強大,它是linux運維人員必須要掌握的命令之一 usage grep option pattern file 用法 grep 引數 要搜尋的內容 檔案 eg r...