首頁 >運維 >linux運維 >grep指令查找文件內容

grep指令查找文件內容

angryTom
angryTom原創
2020-02-18 17:41:0914639瀏覽

grep指令查找文件內容

grep指令尋找檔案內容    

#grep是Linux指令列下常用來尋找過濾文字檔案內容的指令。最簡單的用法是:

grep apple fruitlist.txt

在fruitlist.txt檔案中找出包含apple的內容。

如果想忽略大小寫,可以用-i參數:

grep -i apple fruitlist.txt

如果想搜尋目錄裡所有文件,包括子目錄的話,並且在結果中顯示行號,可以用以下指令:

grep -nr apple *

grep的語法支援正規表示式,正規表示式有些複雜,以後再講解。以下是一些有用的參數:

-A num, --after-context=num: 在結果中同時輸出匹配行之後的num行

-B num, - -before-context=num: 在結果中同時輸出匹配行之前的num行,有時候我們需要顯示幾行上下文。

-i, --ignore-case: 忽略大小寫

-n, --line-number: 顯示行號

-R, -r, -- recursive: 遞歸搜尋子目錄

-v, --invert-match: 輸出沒有匹配的行

我們可以透過管道操作來讓grep變得更強大,管道操作就是把前面一條指令的輸出當作後面一條指令的輸入,從而把很多簡單的指令組合起來完成複雜的功能。例如,如果我們想查找包含apple的行,但又想過濾掉pineapple,可以用下面的命令:

grep apple fruitlist.txt | grep -v pineapple

如果我們想把搜尋結果保存起來,那麼可以把命令的標準輸出重定向到文件:

grep apple fruitlist.txt | grep -v pineapple > apples.txt

重定向符號>和管道操作符號|的區別是,重定向後面接的是一個文件,它後面不能再接任何文件或命令了;而管道操作後面接的是命令,可以無限地接下去。如果想以追加方式寫到文件,可以用>>。管道操作是Linux命令列的一種哲學,它是電腦技術中少有的能沿用數十年的技術之一。透過管道操作,一行指令可以完成Windows下上千行程式也不能完成的文字處理功能。

推薦學習:Linux作業系統教學

#

以上是grep指令查找文件內容的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn