linux grep命令

用法: grep [選項]... PATTERN [FILE]...
在每一個 FILE 或是標準輸入中查找 PATTERN。
默認的 PATTERN 是一個基本正則表達式(縮寫爲 BRE)。
例如: grep -i 'hello world' menu.h main.c

--color:對匹配的字符串着色打印
-o:只顯示被模式匹配到的內容
-c:打印出匹配到字符串的行數
-i:ignore case,不區分字符大小寫
-v:顯示不可以被模式匹配到的行
-E:使用擴展的正則表達式
-n:打印出匹配字符串的在文件中的行號
-R, -r:遞歸全部文件夾中的每個文件
-f:從 FILE 中取得 PATTERN
-m: NUM 次匹配後中止
-l:打印出含有匹配字符串的文件名,而不是匹配的內容
-L:打印出沒有包含匹配字符串的文件名,與 -l 選項相反
-H:對每一個匹配的字符串打印出字符串所在的文件名
-h:不打印匹配字符串所在文件的文件名
-w:強制 PATTERN 僅徹底匹配字詞
-x:強制 PATTERN 僅徹底匹配一行
-A N:打印匹配字符串的同時打印匹配字符串全部行的前 N 行
-B N:打印匹配字符串的同時打印匹配字符串所在行的後 N 行
-C N:打印匹配字符串的同時打印匹配字符串所在行的前 N 行 和 後 N 行
--exclude=GLOB:跳過 GLOB 匹配的文件名進行搜索
--exclude-dir=DIR:在遞歸搜索時跳過 DIR 指定的文件夾

grep常見用法: 
(1)對當前目錄下文件進行遞歸搜索並只顯示文件名 正則表達式

grep "redis" . -r -l

(2)搜索指定字符串並顯示行號 redis

cat /etc/passwd | grep -in "Mysql"

(3)匹配以"at"結尾的內容行 sql

cat test.txt | grep -E "at$"
相關文章
相關標籤/搜索