grep
命令是乙個十分強大的文字搜尋命令,它全面的搜尋滿足正規表示式文字內容並且可
以把對應的行
以及行號列印出來
基本格式:
grep[
選項][
模式][
檔案或者目錄]
[模式]是什麼呢?模式就是要搜尋的文字內容的正規表示式,當然也可以時最簡單的最直接的
文字。輸出是什麼呢,
一般的輸出的是滿足有所要搜尋內容的所有行,但是根據[選項
]內容不同,
也可以之輸出檔名或者滿足行數。 [
選項]:
-n列出所有匹配的行,輸出的行帶上行標
-l只輸出檔名
-r遞迴搜尋,不僅搜當前目錄,還有子目錄
-w匹配整個詞 -v
:反向選擇,亦即顯示出沒有
'搜尋字串
'內容的那一行
-i:不區分大小寫 此外
--color=auto
可以給出滿足模式的文字上色。 [
例子]接下來,趕緊上例子啦!
為了方便看,藍色的表示模式,紅色的表示結果 1.
檢視size.c
檔案中包含
return
或者return0的行
melody@melody-hp-compaq-dc7900-small-form-factor:~/workspace$grep-n
returnsize.c
5:return0;
melody@melody-hp-compaq-dc7900-small-form-factor:~/workspace$grep -n"return 0"size.c
5:return0;
melody@melody-hp-compaq-dc7900-small-form-factor:~/workspace$grep -nreturn 0 size.c
grep:0:
沒有那個檔案或目錄
size.c:5: return0;
注意:當模式中有空格的時候一定要打」」引起來,不然會出現沒有那個檔案或目錄
的錯誤
2.檢視目錄下包含
return0
的檔案,只輸出檔名
melody@melody-hp-compaq-dc7900-small-form-factor:~/workspace$grep
-l"return
0"/home/melody/workspace/
grep:/home/melody/workspace/:
是乙個目錄
melody@melody-hp-compaq-dc7900-small-form-factor:~/workspace$grep
-r-l
"return
0"/home/melody/workspace/
/home/melody/workspace/lookhb.c
/home/melody/workspace/size.c
/home/melody/workspace/main.c
/home/melody/workspace/mainl.c
注意這個例子中,當為目錄時,一定要加
-r遞迴搜尋 3.
檢視目錄下包含
return0
的檔案,輸出檔名加相應的行:
melody@melody-hp-compaq-dc7900-small-form-factor:~/workspace$grep -r "return 0" /home/melody/workspace/
/home/melody/workspace/lookhb.c: return0;
/home/melody/workspace/size.c: return0;
/home/melody/workspace/main.c: return0;
/home/melody/workspace/mainl.c: return0;
melody@melody-hp-compaq-dc7900-small-form-factor:~/workspace$grep -r "return 0" /home/melody/workspace/ -n
/home/melody/workspace/lookhb.c:5: return0;
/home/melody/workspace/size.c:5:return0;
/home/melody/workspace/main.c:17: return0;
/home/melody/workspace/mainl.c:15: return0;
接下來,上一些有正規表示式例子
總結一下:限定行首
(^)/
行尾字元
($),限定一些特定的字元」
..[..]..」,
精確匹配
(/),
匹配重複字元
(「*」)
melody@melody-hp-compaq-dc7900-small-form-factor:~/workspace$grep -n^ i
/home/melody/workspace/size.c
2:intmain()
melody@melody-hp-compaq-dc7900-small-form-factor:~/workspace$grep -n ^
/home/melody/workspace/size.c
1:#include
2:intmain() 3:
^i可以就這樣寫,也可以加單引號,注意是單引號!!
匹配特定的字元
中滿足其中之一就可以了。
eg.
melody@melody-hp-compaq-dc7900-small-form-factor:~/workspace$grepp[ea]tsize.c -n
4://pat;
5: //pet;
模擬:melody@melody-hp-compaq-dc7900-small-form-factor:~/workspace$grep[^a]size.c--color=always
#include
intmain()
melody@melody-hp-compaq-dc7900-small-form-factor:~/workspace$grep^asize.c--color=always
abcds;
melody@melody-hp-compaq-dc7900-small-form-factor:~/workspace$grep //.../ size.c --color=always
//ko //pat;
//.../
表示的是什麼意思呢?就是以
//字元開始的中間有三個其他任意字元(三個
.),後面還接了個/的。
精確匹配:
melody@melody-hp-compaq-dc7900-small-form-factor:~/workspace$grep -n'ab\'size.c
8:aaaaaaaaaabababababababbabaababa;
注意,一定要加引號。
melody@melody-hp-compaq-dc7900-small-form-factor:~/workspace$grep -n ab* size.c -i
2:intmain()
4:-----abcds;
5:--haha;
6:ababaaaab;
7:ab;
8:aaaaaaaaaabababababababbabaababa;
9://ko //pat;
12: printf("%d\n",sizeof("abc"));
ab*-i
就是指的是以
a開頭,出現
0次或者多次
b的字串,不區分大小寫!
Linux命令之 grep命令》
1.作用 linux系統中grep命令是一種強大的文字搜尋工具,它能使用正規表示式搜尋文字,並把匹配的行列印出來 也可以通過管道重定向流輸出到檔案中 grep全稱是global regular expression print,表示全域性正規表示式列印,它的使用許可權是所有使用者。2.格式 grep...
Linux命令之grep命令
grep命令是文字搜尋命令,它可以正規表示式搜尋文字,也可從乙個檔案中的內容作為搜尋關鍵字。grep的工作方式是這樣的,它在乙個或多個檔案中搜尋字串模板。如果模板包括空格,則必須被引用,模板後的所有字串被看作檔名。搜尋的結果被送到標準輸出,不影響原檔案內容。語法 grep option patter...
Linux命令學習之grep命令
格式 grep options pattern file grep命令堆在輸入或指定的檔案中查詢包含匹配指定模式的字元的行。grep的輸出就是包含了匹配模式的行。原始檔內容 ocetl yxddn65 demo more file12 46315 9510 ocetl yxddn65 demo gr...