濮阳杆衣贸易有限公司

主頁 > 知識庫 > 15個Linux Grep命令使用實例(實用、常用)

15個Linux Grep命令使用實例(實用、常用)

熱門標簽:北京市地圖標注 鹽城客服外呼系統(tǒng)軟件 鄭州營銷外呼系統(tǒng)運營商 2020電銷機器人排行 廳外呼梯系統(tǒng)布線 貴陽語音電銷機器人招商 焦作人工智能電話機器人軟件 百度地圖標注陰影動態(tài) 淘寶系統(tǒng)退貨外呼項目考試答案

Grep命令主要用于從文件中查找指定的字符串。
首先建一個demo_file:

復制代碼
代碼如下:

$ cat demo_file
THIS LINE IS THE 1ST UPPER CASE LINE IN THIS FILE.
this line is the 1st lower case line in this file.
This Line Has All Its First Character Of The Word With Upper Case.

Two lines above this line is empty.
And this is the last line.

例01:從單個文件中查找指定的字符串

復制代碼
代碼如下:

$ grep "this" demo_file
this line is the 1st lower case line in this file.
Two lines above this line is empty.

例02:從多個文件中查找指定的字符串

復制代碼
代碼如下:

$ cp demo_file demo_file1

$ grep "this" demo_*
demo_file:this line is the 1st lower case line in this file.
demo_file:Two lines above this line is empty.
demo_file:And this is the last line.
demo_file1:this line is the 1st lower case line in this file.
demo_file1:Two lines above this line is empty.
demo_file1:And this is the last line.

例03:忽略大小寫使用 grep -i

復制代碼
代碼如下:

$ grep -i "the" demo_file
THIS LINE IS THE 1ST UPPER CASE LINE IN THIS FILE.
this line is the 1st lower case line in this file.
This Line Has All Its First Character Of The Word With Upper Case.
And this is the last line.

例04:在文件中匹配正則表達式

如果你能在實際使用正則表達式,能使效率大大提高。在下面的例子中,匹配了所有以lines開頭,以empty結尾的行。

復制代碼
代碼如下:

$ grep "lines.*empty" demo_file
Two lines above this line is empty.

從Grep文檔的來看,一個正則表達式必須遵循下面的匹配操作。
1.?         The preceding item is optional and matched at most once.
2.*          The preceding item will be matched zero or more times.
3.+         The preceding item will be matched one or more times.
4.{n}      The preceding item is matched exactly n times.
5.{n,}     The preceding item is matched n or more times.
6.{,m}    The preceding item is matched at most m times.
7.{n,m}  The preceding item is matched at least n times, but not more than m times.

例05:用grep -w來查找全匹配,不包括子字符串

比如說:用下面的例子搜索出來的例子包括"is","his"

復制代碼
代碼如下:

$ grep -i "is" demo_file
THIS LINE IS THE 1ST UPPER CASE LINE IN THIS FILE.
this line is the 1st lower case line in this file.
This Line Has All Its First Character Of The Word With Upper Case.
Two lines above this line is empty.
And this is the last line.

而用grep -iw搜索出來的結果如下: 注意,忽略大小。"IS","is"

復制代碼
代碼如下:

$ grep -iw "is" demo_file
THIS LINE IS THE 1ST UPPER CASE LINE IN THIS FILE.
this line is the 1st lower case line in this file.
Two lines above this line is empty.
And this is the last line.

例06:用grep -A,-B,-C 來查看after/before/around 行
當在一個大的文件中執(zhí)行grep操作時,如果想要看其中一些行,并且想看之前,之后的或某些行附近的,那么這里命令就起作用了。grep -A,-B,-C.先建個demo.txt作為模板

復制代碼
代碼如下:

$ cat demo_text
4. Vim Word Navigation

You may want to do several navigation in relation to the words, such as:

* e - go to the end of the current word.
* E - go to the end of the current WORD.
* b - go to the previous (before) word.
* B - go to the previous (before) WORD.
* w - go to the next word.
* W - go to the next WORD.

WORD - WORD consists of a sequence of non-blank characters, separated with white space.
word - word consists of a sequence of letters, digits and underscores.

Example to show the difference between WORD and word

* 192.168.1.1 - single WORD
* 192.168.1.1 - seven words.

 6.1 顯示匹配后N行
 

復制代碼
代碼如下:

$ grep -A 3 -i "example" demo_text
Example to show the difference between WORD and word

* 192.168.1.1 - single WORD
* 192.168.1.1 - seven words.

6.2 顯示匹配前N行

復制代碼
代碼如下:

$ grep -B 2 "single WORD" demo_text
Example to show the difference between WORD and word

* 192.168.1.1 - single WORD

6.3 顯示匹配前N行

復制代碼
代碼如下:

$ grep -C 2 "Example" demo_text
word - word consists of a sequence of letters, digits and underscores.

Example to show the difference between WORD and word

* 192.168.1.1 - single WORD

例07:用GREP_OPTIONS來讓查找的項醒目

如果你想使匹配的好看且醒目,可以使用下面的操作:

復制代碼
代碼如下:

$ export GREP_OPTIONS='--color=auto' GREP_COLOR='100;8'

$ grep this demo_file
this line is the 1st lower case line in this file.
Two lines above this line is empty.
And this is the last line.

例08:用grep -r來搜索所有的文件及子目錄

復制代碼
代碼如下:

$ grep -r "ramesh" *


例09:用grep -v來顯示不匹配的項

復制代碼
代碼如下:

$ grep -v "go" demo_text
4. Vim Word Navigation

You may want to do several navigation in relation to the words, such as:

WORD - WORD consists of a sequence of non-blank characters, separated with white space.
word - word consists of a sequence of letters, digits and underscores.

Example to show the difference between WORD and word

* 192.168.1.1 - single WORD
* 192.168.1.1 - seven words.

例10:顯示所有不匹配的項

復制代碼
代碼如下:

$ cat test-file.txt
a
b
c
d

$ grep -v -e "a" -e "b" -e "c" test-file.txt
d

例11:用grep -c 來計算匹配的數(shù)量

11.1計算匹配的字符串數(shù)

復制代碼
代碼如下:

$ grep -c "go" demo_text
6

11.2計算匹配的模式數(shù)

復制代碼
代碼如下:

$ grep -c this demo_file
3

11.3計算不匹配的模式數(shù)

復制代碼
代碼如下:

$ grep -v -c this demo_file
4

例12:使用grep -l顯示匹配的文件名

復制代碼
代碼如下:

$ grep -l this demo_*
demo_file
demo_file1

例13:只顯示匹配的字符串

復制代碼
代碼如下:

$ grep -o "is.*line" demo_file
is line is the 1st lower case line
is line
is is the last line

例14:

復制代碼
代碼如下:

$ cat temp-file.txt1234512345
$ grep -o -b "3" temp-file.txt
2:3
8:3

注意:上述的不是該字符所在行中的位置,而是字節(jié)的位置。
例15:用grep -n 顯示行數(shù)

復制代碼
代碼如下:

$ grep -n "go" demo_text
5: * e - go to the end of the current word.
6: * E - go to the end of the current WORD.
7: * b - go to the previous (before) word.
8: * B - go to the previous (before) WORD.
9: * w - go to the next word.
10: * W - go to the next WORD.

標簽:青島 周口 大慶 遼寧 大理 大興安嶺 六安 樂山

巨人網(wǎng)絡通訊聲明:本文標題《15個Linux Grep命令使用實例(實用、常用)》,本文關鍵詞  15個,Linux,Grep,命令,使用,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《15個Linux Grep命令使用實例(實用、常用)》相關的同類信息!
  • 本頁收集關于15個Linux Grep命令使用實例(實用、常用)的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    绥德县| 鲁甸县| 清镇市| 滦南县| 托克托县| 唐山市| 新营市| 自贡市| 儋州市| 平潭县| 天镇县| 汪清县| 凤山县| 绥芬河市| 汉寿县| 临洮县| 寿阳县| 崇阳县| 东莞市| 西和县| 甘谷县| 宜兰市| 白沙| 蒙山县| 沈丘县| 新昌县| 托里县| 万山特区| 虞城县| 康保县| 米易县| 吉林市| 理塘县| 上饶县| 青海省| 宁阳县| 盐池县| 哈尔滨市| 婺源县| 汉寿县| 金门县|