指令語法:

grep [options] ’PATTERN’ [FILE...] pattern 為所指定的比對樣式。

參數說明:

 -c:列出符合比對樣式的行數。

 -E:加此參數可支援 extended RE。

 -i:忽略 pattern 中的大小寫。

 -n:將符合搜尋條件的那幾行附上行號列印出來。

 -v:把不符合搜尋條件的那幾行列印出來。

 

範例:

[barry@rhel ~]$ cat file barry marytina
xyzbrry 123xyz xyz

123aba*rry

user01 wcky auser02 test good
buser03 nice priority cuser04 lpi
axyzbuser05 www lpi org

xyzuser06 study area abc 123!
123abcxyz

ab3 cwy

[barry@rhel ~]$ export LANG=C

[barry@rhel ~]$ grep 'ab..c' file

[barry@rhel ~]$ grep 'ba*rry' file

[barry@rhel ~]$ grep 'ba\*rry' file

[barry@rhel ~]$ grep '[abc]user' file

[barry@rhel ~]$ grep '[^bc]user' file

[barry@rhel ~]$ grep '^123' file

[barry@rhel ~]$ grep 'xyz$' file

[barry@rhel ~]$ grep '^$' file
→ 列出 file 內容中之空白行。

[barry@rhel ~]$ grep '^xyz$' file

→ 找出 file 內容裡剛好是 xyz 字串的。

[barry@rhel ~]$ grep -E 'ba?rry' file

[barry@rhel ~]$ grep -E 'ba+rry' file

[barry@rhel ~]$ grep -E 'xyz|123' file

[barry@rhel ~]$ grep -E 'a(xyz)*b' file
→ ab 字母之中的 xyz 字串可出現 0~n 次。

[barry@rhel ~]$ grep -vc 'bash' /etc/passwd

→ 計算檔案內容不含 bash 的共幾行。

[barry@rhel ~]$ grep -ni 'BASH' /etc/passwd

→ 列出包含 bash(不分大小寫)字串的那幾行,並附上行號。

 

 

基礎的 grep 用法

進階的grep用法

arrow
arrow
    創作者介紹
    創作者 STORY 的頭像
    STORY

    STORY

    STORY 發表在 痞客邦 留言(0) 人氣()