1. 程式人生 > >linux中grep命令

linux中grep命令

出行 red 文本搜索 grep命令 cin spa 組合 方式 小數

grep 是一種強大的文本搜索工具,它能使用正則表達式搜索文本,並把匹配的行打印出來。

grep常用用法

[root@www ~]# grep [-acinv] [--color=auto] 搜尋字符串 filename
選項與參數:
-a :將 binary 文件以 text 文件的方式搜尋數據
-c :計算找到 搜尋字符串 的次數
-i :忽略大小寫的不同,所以大小寫視為相同
-n :順便輸出行號
-v :反向選擇,亦即顯示出沒有 搜尋字符串 內容的那一行!
--color=auto :可以將找到的關鍵詞部分加上顏色的顯示喔!

1、將filename中包含w的行輸出來

[root@zhoucentos log]# grep w filename 
wo ai wo jia
wo hen hao
da jia hao wo shi yi ge hao ren

2、把行號顯示出來

[root@zhoucentos log]# grep -n w filename 
1:wo ai wo jia
3:wo hen hao
4:da jia hao wo shi yi ge hao ren

3、有多少行含有匹配的模式

[root@zhoucentos log]# grep -c wo filename 
3

4、與正則表達式結合

字符類的搜索:搜尋 test 或 taste 這兩個單字, [] 裏面不論有幾個字節,他都謹代表某『一個』字節

[root@zhoucentos log]# grep t[ae]st filename 
test 
is meng tast is huan

反向搜索-- 字符類的反向選擇 [^] :如果想要搜索到有 oo 的行,但不想要 oo 前面有 g,如下

[root@zhoucentos log]# grep -n [^g]oo filename 
8:root is a super

行首與行尾字節 ^ $

註意:

^ 符號,在字符類符號(括號[])之內與之外是不同的! 在 [] 內代表『反向選擇』,在 [] 之外則代表定位在行首的意義!

只要行首是wo的行

[root@zhoucentos log]# grep -n ^wo filename 
1:wo ai wo jia
3
:wo hen hao

找出空白行----只有行首跟行尾 (^$)

[root@zhoucentos log]# grep -n ^$ filename 
6:
9:
10:

任意一個字節 . 與重復字節 *
這兩個符號在正則表達式的意義如下:

. (小數點):代表『一定有一個任意字節』的意思;
* (星號):代表『重復前一個字符, 0 到無窮多次』的意思,為組合形態

[root@zhoucentos log]# grep -n ‘g..d‘ filename
8:good is a gread

linux中grep命令