grep命令是文字搜尋命令,它可以正規表示式搜尋文字,也可從乙個檔案中的內容作為搜尋關鍵字。grep的工作方式是這樣的,它在乙個或多個檔案中搜尋字串模板。如果模板包括空格,則必須被引用,模板後的所有字串被看作檔名。搜尋的結果被送到標準輸出,不影響原檔案內容。
語法:
grep [option] pattern file
(base) [root@test1 ~]# grep -n wuhs test.sh4:作者1=wuhs
5:作者1=wuhs
9:author1=wuhs
(base) [root@test1 ~]# ll -h |grep test-rw-r–r--. 1 root root 69 jan 17 06:17 test2.sh
-rw-r–r--. 1 root root 112 jan 17 06:09 test.sh
(base) [root@test1 ~]# ps -ef |grep -c docker5
(base) [root@test1 ~]# cat testauthor
作者(base) [root@test1 ~]# grep -f test -n test.sh
4:作者1=wuhs
5:作者1=wuhs
7:#作者2=sunru
8:#作者3=ziyue
9:author1=wuhs
(base) [root@test1 ~]# grep wuhs test.sh test2.shtest.sh:作者1=wuhs
test.sh:作者1=wuhs
test.sh:author1=wuhs
test2.sh:作者1=wuhs
test2.sh:作者1=wuhs
(base) [root@test1 ~]# grep -i wuhs test.sh作者1=wuhs
作者1=wuhs
author1=wuhs
author2=wuhs
(base) [root@test1 ~]# ps -ef |grep kworker |grep -v greproot 5 2 0 jan16 ? 00:00:00 [kworker/0:0h]
root 2905 2 0 jan16 ? 00:00:01 [kworker/0:1h]
root 80922 2 0 jan18 ? 00:00:03 [kworker/u256:0]
root 93902 2 0 jan18 ? 00:00:01 [kworker/u256:2]
root 99985 2 0 04:36 ? 00:00:03 [kworker/0:0]
root 100759 2 0 05:56 ? 00:00:01 [kworker/0:2]
root 101014 2 0 06:21 ? 00:00:00 [kworker/0:3]
root 101070 2 0 06:26 ? 00:00:00 [kworker/0:1]
(base) [root@test1 ~]# grep ^author test.shauthor1=wuhs
author2=wuhs
(base) [root@test1 ~]# grep uhs$ test.sh用於過濾/搜尋的特定字元。可使用正規表示式能多種命令配合使用,使用上十分靈活。作者1=wuhs
作者1=wuhs
author1=wuhs
author2=wuhs
(base) [root@test1 ~]# grep wuhs$ test.sh
author2=wuhs
-a --text #不要忽略二進位制的資料。
-a 顯示匹配行及後面多少行, 如: -a3, 則表示顯示匹配行及後3行。
-b --byte-offset #在顯示符合樣式的那一行之前,標示出該行第乙個字元的編號。
-b 顯示匹配行及前面多少行, 如: -b3, 則表示顯示匹配行及前3行。
-c --count #計算符合樣式的列數。
-c 顯示匹配行前後多少行, 如: -c3, 則表示顯示批量行前後3行。
-d 《動作》 --directories=《動作》 #當指定要查詢的是目錄而非檔案時,必須使用這項引數,否則grep指令將回報資訊並停止動作。
-e《範本樣式》 --regexp=《範本樣式》 #指定字串做為查詢檔案內容的樣式。
-e --extended-regexp #將樣式為延伸的普通表示法來使用。
-f《規則檔案》 --file=《規則檔案》 #指定規則檔案,其內容含有乙個或多個規則樣式,讓grep查詢符合規則條件的檔案內容,格式為每行乙個規則樣式。
-f --fixed-regexp #將樣式視為固定字串的列表。
-g --basic-regexp #將樣式視為普通的表示法來使用。
-h --no-filename #在顯示符合樣式的那一行之前,不標示該行所屬的檔名稱。
-h --with-filename #在顯示符合樣式的那一行之前,表示該行所屬的檔名稱。
-i --ignore-case #忽略字元大小寫的差別。
-l --file-with-matches #列出檔案內容符合指定的樣式的檔名稱。
-l --files-without-match #列出檔案內容不符合指定的樣式的檔名稱。
-n --line-number #在顯示符合樣式的那一行之前,標示出該行的列數編號。
-q --quiet或–silent #不顯示任何資訊。
-r --recursive #此引數的效果和指定「-d recurse」引數相同。
-s --no-messages #不顯示錯誤資訊。
-v --revert-match #顯示不包含匹配文字的所有行。
-v --version #顯示版本資訊。
-w --word-regexp #只顯示全字符合的列。
-x --line-regexp #只顯示全列符合的列。
-y #此引數的效果和指定「-i」引數相同。
–color: 匹配到的內容高亮顯示
–include: 指定匹配的檔案型別
–exclude: 過濾不需要匹配的檔案型別
^ #錨定行的開始 如:』^grep』匹配所有以grep開頭的行。
$ #錨定行的結束 如:'grep$'匹配所有以grep結尾的行。
. #匹配乙個非換行符的字元 如:'gr.p』匹配gr後接乙個任意字元,然後是p。
Linux命令之 grep命令》
1.作用 linux系統中grep命令是一種強大的文字搜尋工具,它能使用正規表示式搜尋文字,並把匹配的行列印出來 也可以通過管道重定向流輸出到檔案中 grep全稱是global regular expression print,表示全域性正規表示式列印,它的使用許可權是所有使用者。2.格式 grep...
linux命令之grep命令
grep 命令是乙個十分強大的文字搜尋命令,它全面的搜尋滿足正規表示式文字內容並且可 以把對應的行 以及行號列印出來 基本格式 grep 選項 模式 檔案或者目錄 模式 是什麼呢?模式就是要搜尋的文字內容的正規表示式,當然也可以時最簡單的最直接的 文字。輸出是什麼呢,一般的輸出的是滿足有所要搜尋內容...
Linux命令學習之grep命令
格式 grep options pattern file grep命令堆在輸入或指定的檔案中查詢包含匹配指定模式的字元的行。grep的輸出就是包含了匹配模式的行。原始檔內容 ocetl yxddn65 demo more file12 46315 9510 ocetl yxddn65 demo gr...