會了這個命令你就是Linux操作大神--三劍客之一GREP命令

linux必會命令-grep查找文件內容

會了這個命令你就是Linux操作大神--三劍客之一GREP命令

1、Linux 查找指定內容在哪個文件中

在實際的工作中,忘記配置項放在哪個文件中時,可藉助命令來查詢.

A、grep -r "查詢內容" 文件目錄 #這樣查詢出來的包括文件名+內容

grep -r -l "查詢內容" 文件目錄 #這樣只顯示包含內容的文件名

B、find 文件目錄 -type f |xargs grep "查詢內容"; #也可以達到效果

2、找目錄下含有該字符串的所有文件

A、遞歸查找:grep -rn "HXM" /home/path

B、查找當前目錄下後綴名為過濾的文件:grep -Rn "HXM" *.py

C、當前目錄及設定子目錄下的符合條件的文件:grep -Rn "HXM" /home/path *.py

D、結合find命令過濾目錄及文件名後綴:

find /home/path -type f -name "*.py" | xargs grep -n 'HXM'

3、Linux下grep顯示前後幾行信息

標準unix/linux下的grep通過下面參數控制上下文

grep -C 5 foo file 顯示file文件裡匹配foo字串那行以及上下5行

grep -B 5 foo file 顯示foo及前5行

grep -A 5 foo file 顯示foo及後5行

4、常用高級選項更牛掰

-E :開啟擴展(Extend)的正則表達式。

-i :忽略大小寫(ignore case)。

-v :反過來(invert),只打印沒有匹配的,而匹配的反而不打印。

-n :顯示行號

-w :被匹配的文本只能是單詞,而不能是單詞中的某一部分,如文本中有liker,而我搜尋的只是like,就可以使用-w選項來避免匹配liker

-c :顯示總共有多少行被匹配到了,而不是顯示被匹配到的內容,注意如果同時使用-cv選項是顯示有多少行沒有被匹配到。

-o :只顯示被模式匹配到的字符串。

--color :將匹配到的內容以顏色高亮顯示。

-A n:顯示匹配到的字符串所在的行及其後n行,after

-B n:顯示匹配到的字符串所在的行及其前n行,before

-C n:顯示匹配到的字符串所在的行及其前後各n行,context

會了這個命令你就是Linux操作大神--三劍客之一GREP命令


分享到:


相關文章: