grep指令查找文件內容

angryTom
發布: 2020-02-18 17:41:09
原創
14519 人瀏覽過

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中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!