柚子快報邀請碼778899分享:ubuntu grep 使用
柚子快報邀請碼778899分享:ubuntu grep 使用
記錄一下grep的 使用,方便查找
grep [選項] [pattern] [file]
命令 參數 匹配模式 文件【可用/可不用】
常用
-i:忽略大小寫
-n:顯示匹配行的行號
-r:遞歸搜索子目錄
-o:只顯示匹配的行【查詢文件中是否存在匹配的內容】
-c:只統(tǒng)計匹配的行數
-v:只顯示不匹配的行
-E:使用擴展正則表達式
-F:禁用正則表達式,使用固定字符串匹配
-w:只匹配整個單詞,而不是單詞的一部分
-A:顯示匹配行之后的若干行
-B:顯示匹配行之前的若干行
-C:顯示匹配行前后的若干行
一般經常使用的命令:
grep -inr xxx 【梯歸查詢此目錄下是否存在匹配不分大小寫的xxx項的文件的行號】
正則表達式
【文件和命令行在同一目錄下】
【grep -in "^i" xxx.txt 】【查詢xxx.txt中I 或者 i 開頭的行】【^代表后一個字符開頭,必須與字符搭配使用】
【grep -n "\.$"】【查詢以.結尾的行】
【grep -n "^$" xxx.txt】【查詢文件的空行】【^$代表空行】
【grep -n "." xxx.txt 】 【查詢文件空行之外的行】【.代表任意一個字符】
【grep -n "s*" xxx.txt】 【查詢文件中s所在的行】【*代表前一個字符出現(xiàn)的次數,必須與字符搭配使用】
【grep -n ".*" xxx.txt 】 【查詢文件內容 等同與cat 】【.*代表所以內容】
【grep -n "^.*x" xxx.txt 】 【查詢文件中含有x的行】【以任意字符開頭,以x結尾】
【grep -no "yes" xxx.txt 】【 查詢文件中是否含有yes的行】
【grep -c "yes" xxx.txt 】【查詢文件中yes有幾行】
實例:
查看log:
【grep -ino Exception monkey.log 】
【grep -inr Exception monkey.log 】
【grep --help】
模式選擇和解釋:
-E、 --擴展的regexp PATTERN是一個擴展的正則表達式
-F、 --固定字符串PATTERN是一組換行的字符串
-G、 --basic regexp PATTERN是一個基本的正則表達式(默認值)
-P、 --perl regexp PATTERN是一個perl正則表達式
-e, --regexp=PATTERN 用 PATTERN 來進行匹配操作
-f, --file=FILE 從 FILE 中取得 PATTERN
-i, --ignore-case 忽略大小寫
-w, --word-regexp 強制 PATTERN 僅完全匹配字詞
-x, --line-regexp 強制 PATTERN 僅完全匹配一行
-z, --null-data 一個 0 字節(jié)的數據行,但不是空行
雜項:
-s, --no-messages 不顯示錯誤信息
-v, --invert-match 選中不匹配的行
-V, --version 顯示版本信息并退出
--help 顯示此幫助并退出
輸出控制:
-m, --max-count=<次數> 得到給定<次數>次匹配后停止
-b, --byte-offset 輸出的同時打印字節(jié)偏移
-n, --line-number 輸出的同時打印行號
--line-buffered 每行輸出后刷新輸出緩沖區(qū)
-H, --with-filename 為輸出行打印文件名
-h, --no-filename 輸出時不顯示文件名前綴
--label=<標簽> 將給定<標簽>作為標準輸入文件名前綴
-o, --only-matching 只顯示匹配PATTERN 部分的行
-q, --quiet, --silent 不顯示所有常規(guī)輸出
--binary-files=TYPE 設定二進制文件的TYPE 類型;
TYPE 可以是`binary', `text', 或`without-match'
-a, --text 等同于 --binary-files=text
-I 等同于 --binary-files=without-match
-d, --directories=ACTION 讀取目錄的方式;
ACTION 可以是`read', `recurse',或`skip'
-D, --devices=ACTION 讀取設備、先入先出隊列、套接字的方式;
ACTION 可以是`read'或`skip'
-r, --recursive 等同于--directories=recurse
-R, --dereference-recursive 同上,但遍歷所有符號鏈接
--include=FILE_PATTERN 只查找匹配FILE_PATTERN 的文件
--exclude=FILE_PATTERN 跳過匹配FILE_PATTERN 的文件和目錄
--exclude-from=FILE 跳過所有除FILE 以外的文件
--exclude-dir=PATTERN 跳過所有匹配PATTERN 的目錄。
-L, --files-without-match 只打印沒有匹配上的<文件>的名稱
-l, --files-with-matches 只打印有匹配的<文件>的名稱
-c, --count 只打印每個<文件>中的匹配行數目
-T, --initial-tab 行首制表符對齊(如有必要)
-Z, --null 在<文件>名最后打印空字符
文件控制:
-B, --before-context=NUM 打印文本及其前面NUM 行
-A, --after-context=NUM 打印文本及其后面NUM 行
-C, --context=NUM 打印NUM 行輸出文本
-NUM 等同于 --context=NUM
--color[=WHEN],
--colour[=WHEN] 使用標記高亮匹配字串;
WHEN 可以是“always”、“never”或“auto”
-U, --binary 不要清除行尾的 CR 字符(MSDOS/Windows)
備注:中間部分內容來自https://blog.csdn.net/m0_50370837/article/details/125068528
柚子快報邀請碼778899分享:ubuntu grep 使用
文章鏈接
本文內容根據網絡資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉載請注明,如有侵權,聯(lián)系刪除。