linux的grep命令學習
grep命令是乙個很強大的文字查詢命令,grep全稱是global regular expression print,可以配合正規表示式來使用
grep常見的兩種使用方式
基於檔案的查詢,使用格式為:grep [命令引數] 待匹配模式串 [查詢檔案]
[ ]為可選的引數
例如:grep -i 'hello world' menu.h main.c
如果不是在檔案中查詢的話,一般是通過管道的方式和其他程序相配合來使用
如查詢目錄下的檔案
例如:ls |grep helloworld
ps:grep後面的模式串進行模糊匹配時,加 」 修飾的話,將會把符合模式串字首的一起匹配
例如:在/usr/include
目錄下查詢pthread.h
檔案。
ls |grep 'pth*'
輸出:
crypt.h
getopt.h
pthread.h
pty.h
stropts.h
而不新增的話,如:ls |grep pth*
輸出:
pthread.h
常見引數
下面列出一些常見的引數:
-a –text 不要忽略二進位制的資料。
-a 《設定的行數》, –after-context=《設定的行數》 列印文字及其後面num 行
例子:grep main helloworld.cpp -a 5
輸出:
」 從匹配項所在行開始輸出5行。」
-b, –byte-offset 輸出的同時列印位元組偏移
-b 《設定的行數》, –before-context=《設定的行數》 列印文字及其前面num 行
例子:同上
輸出:
「從匹配項所在行為第5行,從第一行輸出到第5行」
-c, –count 只列印每個file 中的匹配行數目
例子:ls |grep haha -c
輸出:
匹配的次數
-c 《設定的行數》, –context=num 列印num 行輸出文字
也可以使用
-num (和 -c 《設定的行數》效果一樣)
-i ,–ignore-case #忽略字元大小寫的差別。
grep的規則表示式
^ #錨定行的開始 如:'^grep'匹配所有以grep開頭的行。
$ #錨定行的結束 如:'grep$'匹配所有以grep結尾的行。
. #匹配乙個非換行符的字元 如:'gr.p'匹配gr後接乙個任意字元,然後是p。
* #匹配零個或多個先前字元 如:'*grep'匹配所有乙個或多個空格後緊跟grep的行。
.* #一起用代表任意字元。
更多的引數,可以參考以下博主的總結
linux常用指令—grep(搜尋過濾)
Linux常用命令 grep的簡單使用
在linux中,查詢檔案內容主要用grep命令來實現。基本格式 grep expression 1下面是一些常用的使用場景。grep i zzz abc.txt 不區分大小寫查詢 grep c zzz abc.txt 只輸出匹配行的總計數 grep i n aaa abc.txt 顯示匹配行及行號 ...
linux下的grep命令
grep global search regular expression re and print out the line,全面搜尋正規表示式並把行列印出來 是一種強大的文字搜尋工具,它能使用正規表示式搜尋文字,並把匹配的行列印出來。a不要忽略二進位制資料。a 顯示列數 除了顯示符合範本樣式的那...
Linux命令之 grep命令》
1.作用 linux系統中grep命令是一種強大的文字搜尋工具,它能使用正規表示式搜尋文字,並把匹配的行列印出來 也可以通過管道重定向流輸出到檔案中 grep全稱是global regular expression print,表示全域性正規表示式列印,它的使用許可權是所有使用者。2.格式 grep...