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
閱讀更多 快樂生活你我 的文章