中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在Linux系統中使用Grep命令

發布時間:2021-03-30 15:24:30 來源:億速云 閱讀:214 作者:Leah 欄目:系統運維

本篇文章為大家展示了如何在Linux系統中使用Grep命令,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

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.  

上述內容就是如何在Linux系統中使用Grep命令,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

嘉定区| 陈巴尔虎旗| 广河县| 泗阳县| 衡阳市| 七台河市| 宿州市| 黄大仙区| 石棉县| 横峰县| 固阳县| 平武县| 景洪市| 山东省| 正阳县| 雅安市| 宁陕县| 玛纳斯县| 上林县| 英吉沙县| 静乐县| 静海县| 哈巴河县| 大港区| 泽州县| 临城县| 玛沁县| 玉溪市| 巩义市| 齐齐哈尔市| 河间市| 收藏| 黄石市| 农安县| 子洲县| 郑州市| 芮城县| 永城市| 沙湾县| 芦溪县| 建水县|