如下爲學習整理內容,供本身翻閱和他人翻閱使用正則表達式
grep查找關鍵詞,並打印匹配的行
說明:
grep是一個功能強大的程序,它用來在文件中查找匹配文本學習
用法: grep [選項] PATTERN/regex [FILE...] 在每一個 FILE 或是標準輸入中查找 PATTERN。 默認的 PATTERN 是一個基本正則表達式(縮寫爲 BRE)。 例如: grep -i 'hello world' menu.h main.c 選項: 正則表達式選擇 -G 使用基本正則表達式, --basic-regexp -e 使用 PATTERN 來進行匹配操做, --regexp=PATTERN (默認) -E 使用可擴展的正則表達式, --extended-regexp -P 使用Perl 正則表達式, --perl-regexp -F 使用斷行符進行分隔進行匹配的定長字符串, --fixed-strings -f 從 FILE 中取得 PATTERN, --file=FILE -i 匹配忽略大小寫,--ignore-case -w 強制 PATTERN 僅徹底匹配字詞, --word-regexp -x 強制 PATTERN 僅徹底匹配一行, --line-regexp -z 一個 0 字節的數據行,但不是空行, --null-data 雜項 -v 匹配取反,--invert-match -s 禁止錯誤信息輸出, --no-messages --color=auto 標記匹配顏色 輸出控制 -m NUM 次匹配後中止, --max-count=NUM -c 輸出匹配的數目,--count -l 輸出匹配項的文件名,--files-with-matches -r 對文件夾進行遞歸查詢 可是對符號連接(symbolic links)的文件只有在命令裏面才檢索 若是沒有文件就是默認當前文件夾, --recursive -L 與-l相反,但輸出的不包含匹配項的文件名,--files-without-match -n 爲匹配行顯示在文件中的行號,--line-number -h 多文件搜索時,抑制文件名的輸出,--no-filename -H 與-h選項相反 文件控制 -B n 打印匹配搜索後的內容以前的n行一併輸出打印, --before-context=NUM -A n 打印匹配搜索後的內容以後的n行一併輸出打印, --after-context=NUM -C n 打印匹配搜索後的內容以前以後的n行一併輸出打印, --context=NUM
案例截圖:
使用注意點
‘egrep’即‘grep -E’。‘fgrep’即‘grep -F’。
若FILE 爲 -,將讀取標準輸入。不帶FILE,讀取當前目錄,除非命令行中指定了-r 選項。
若是少於兩個FILE 參數,就要默認使用-h 參數。
若是有任意行被匹配,那退出狀態爲 0,不然爲 1;
若是有錯誤產生,且未指定 -q 參數,那退出狀態爲 2。
-l -L選項使用
-n選項使用
-c 選項使用
-h選項的使用
命令行