用法: grep [選項(xiàng)]... PATTERN [FILE]...
在每個(gè) FILE 或是標(biāo)準(zhǔn)輸入中查找 PATTERN翩伪。
默認(rèn)的 PATTERN 是一個(gè)基本正則表達(dá)式(縮寫為 BRE)。
例如: grep -i 'hello world' menu.h main.c
-
正則表達(dá)式選擇與解釋:
-E, --extended-regexp PATTERN 是一個(gè)可擴(kuò)展的正則表達(dá)式(縮寫為 ERE) -F, --fixed-strings PATTERN 是一組由斷行符分隔的字符串疫萤。 -G, --basic-regexp PATTERN 是一個(gè)基本正則表達(dá)式(縮寫為 BRE) -P, --perl-regexp PATTERN 是一個(gè) Perl 正則表達(dá)式 -e, --regexp=PATTERN 用 PATTERN 來進(jìn)行匹配操作 -f, --file=FILE 從 FILE 中取得 PATTERN -i, --ignore-case 忽略大小寫 -w, --word-regexp 強(qiáng)制 PATTERN 僅完全匹配字詞 -x, --line-regexp 強(qiáng)制 PATTERN 僅完全匹配一行 -z, --null-data 一個(gè) 0 字節(jié)的數(shù)據(jù)行圣絮,但不是空行
-
雜項(xiàng):
-s, --no-messages 不顯示錯(cuò)誤信息 -v, --invert-match 選中不匹配的行 -V, --version 顯示版本信息并退出 --help 顯示此幫助并退出
-
輸出控制:
-m, --max-count=NUM NUM 次匹配后停止 -b, --byte-offset 輸出的同時(shí)打印字節(jié)偏移 -n, --line-number 輸出的同時(shí)打印行號(hào) --line-buffered 每行輸出清空 -H, --with-filename 為每一匹配項(xiàng)打印文件名 -h, --no-filename 輸出時(shí)不顯示文件名前綴 --label=LABEL 將LABEL 作為標(biāo)準(zhǔn)輸入文件名前綴 -o, --only-matching 只顯示匹配PATTERN 部分的行 -q, --quiet, --silent 不顯示所有常規(guī)輸出 --binary-files=TYPE 設(shè)定二進(jìn)制文件的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 讀取設(shè)備诱告、先入先出隊(duì)列撵枢、套接字的方式; ACTION 可以是`read'或`skip' -r, --recursive 等同于--directories=recurse -R, --dereference-recursive 同上精居,但遍歷所有符號(hào)鏈接 --include=FILE_PATTERN 只查找匹配FILE_PATTERN 的文件 --exclude=FILE_PATTERN 跳過匹配FILE_PATTERN 的文件和目錄 --exclude-from=FILE 跳過所有除FILE 以外的文件 --exclude-dir=PATTERN 跳過所有匹配PATTERN 的目錄锄禽。 -L, --files-without-match 只打印不匹配FILEs 的文件名 -l, --files-with-matches 只打印匹配FILES 的文件名 -c, --count 只打印每個(gè)FILE 中的匹配行數(shù)目 -T, --initial-tab 行首tabs 分隔(如有必要) -Z, --null 在FILE 文件最后打印空字符
-
文件控制:
-B, --before-context=NUM 打印文本及其前面NUM 行 -A, --after-context=NUM 打印文本及其后面NUM 行 -C, --context=NUM 打印NUM 行輸出文本 -NUM 等同于 --context=NUM --color[=WHEN], --colour[=WHEN] 使用標(biāo)記高亮匹配字串; WHEN 可以是`always', `never'或`auto' -U, --binary 不要清除行尾的CR 字符(MSDOS/Windows) -u, --unix-byte-offsets 忽略CR 字符靴姿,報(bào)告字節(jié)偏移 (MSDOS/Windows)
egrep
即grep -E
沃但。fgrep
即grep -F
。
直接調(diào)用egrep
或是fgrep
均已被廢棄佛吓。
若FILE 為 -宵晚,將讀取標(biāo)準(zhǔn)輸入。不帶FILE维雇,讀取當(dāng)前目錄淤刃,除非命令行中指定了-r 選項(xiàng)。
如果少于兩個(gè)FILE 參數(shù)吱型,就要默認(rèn)使用-h 參數(shù)逸贾。
如果有任意行被匹配,那退出狀態(tài)為 0唁影,否則為 1;
如果有錯(cuò)誤產(chǎn)生掂名,且未指定 -q 參數(shù)据沈,那退出狀態(tài)為 2。