15個Linux Grep命令使用例項(實用、常用)
這篇文章主要介紹了15個Linux Grep命令使用例項(實用、常用),本文講解了如從單個檔案中查詢指定的字串、從多個檔案中查詢指定的字串、在檔案中匹配正規表示式、顯示匹配後N行等內容,需要的朋友可以參考下
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 行
當在一個大的檔案中執行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 來計算匹配的數量
11.1計算匹配的字串數
$ grep -c "go" demo_text
6
11.2計算匹配的模式數
$ grep -c this demo_file
3
11.3計算不匹配的模式數
$ 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
注意:上述的不是該字元所在行中的位置,而是位元組的位置。
例15:用grep -n 顯示行數
$ 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.
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 行
當在一個大的檔案中執行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 來計算匹配的數量
11.1計算匹配的字串數
$ grep -c "go" demo_text
6
11.2計算匹配的模式數
$ grep -c this demo_file
3
11.3計算不匹配的模式數
$ 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
注意:上述的不是該字元所在行中的位置,而是位元組的位置。
例15:用grep -n 顯示行數
$ 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.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9034054/viewspace-2075258/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux命令:grep命令AND、OR、NOT例項Linux
- Linux中的15個‘echo’ 命令例項Linux
- Linux 常用基本命令 cat grepLinux
- nmap命令常用例項
- Linux grep命令的使用Linux
- Linux常用命令記錄-grepLinux
- linux下grep命令用法例項教程Linux
- Linux中printf命令使用例項Linux
- Linux 中 grep 命令的 12 個實踐例子Linux
- 15個常用Linux命令列總彙Linux命令列
- grep 命令系列:使用 grep 命令來搜尋多個單詞
- 【Linux命令】grep命令Linux
- Tee命令的幾個使用例項
- 14 個 Linux grep 命令的例子Linux
- Linux 中的 JQ 命令使用例項Linux
- Linux中ip命令的使用例項Linux
- Linux 中 ss 命令的使用例項Linux
- Linux中的basename命令使用例項Linux
- Linux grep 命令Linux
- 【Linux】grep命令Linux
- grep命令使用
- linux中強大且常用命令:find、grepLinux
- findmnt 命令的八個應用例項
- Linux命令篇 - grep 命令Linux
- Linux 中grep命令中 -P選項的作用Linux
- 掌握Linux中的12個grep命令Linux
- 如何使用 Linux 的 grep 和 fgrep 命令Linux
- Linux grep命令有何作用?如何使用?Linux
- Tee命令使用例項
- awk命令使用例項
- linux命令之grepLinux
- Linux 的”sort”命令的七個有趣例項Linux
- linux每日命令(35):grep命令Linux
- Linux系統中的basename命令使用例項Linux
- Linux系統抓包命令tcpdump使用例項LinuxTCP
- Linux Grep命令使用的詳細介紹Linux
- cut命令的使用例項
- restorecon 命令使用例項REST