首頁  >  文章  >  運維  >  在linux中可以找到文件內容嗎

在linux中可以找到文件內容嗎

青灯夜游
青灯夜游原創
2022-03-21 15:51:512954瀏覽

在linux中,可以利用grep指令來尋找文件內容,該指令是一種強大的文字搜尋工具,用來找出檔案裡符合條件的字串,能使用正規表示式來搜尋文字;語法“grep [選項] 模式檔名”。

在linux中可以找到文件內容嗎

本教學操作環境:linux5.9.8系統、Dell G3電腦。

在linux中,可以利用grep指令來尋找檔案內容。

Linux系統中grep(Global Regular Expression Print)指令是一種強大的文本搜尋工具,用於查找檔案裡符合條件的字串,它能使用正規表示式搜尋文本,並把符合的行印出來。

grep 指令的由來可以追溯到UNIX 誕生的早期,在UNIX 系統中,搜尋的模式(patterns)被稱為正則表達式(regular expressions),為了要徹底搜尋一個文件,有的用戶在要搜尋的字串前加上前綴global(全面的),一旦找到相符的內容,使用者就像將其輸出(print)到螢幕上,而將這一系列的操作整合到一起就是global regular expressions print,而這也就是grep 指令的全名。

grep指令能夠在一個或多個檔案中,搜尋某一特定的字元模式(也就是正規表示式),此模式可以是單一的字元、字串、單字或句子。

正規表示式是描述一組字串的一個模式,正規表示式的構成模仿了數學表達式,透過使用操作符將較小的表達式組合成一個新的表達式。正規表示式可以是一些純文字文字,也可以是用來產生模式的一些特殊字元。為了進一步定義一個搜尋模式,grep 指令支援如表 1 所示的這幾種正規表示式的元字元(也就是通配符)。

表1 正規表示式的通配符
#通配符 功能
c* 將符合0 個(即空白)或多個字元c(c 為任一字元)。
. 將匹配任何一個字符,並且只能是一個字符。
[xyz] 符合方括號中的任一個字元。
[^xyz] 符合除方括號中字元外的所有字元。
^ 鎖定行的開頭。
$ 鎖定行的結尾。

需要注意的是,在基本正規表示式中,如通配符*、 、{、|、( 和)等,已經失去了它們原本的意義,而若要恢復它們原本的意義,則要在先前加上反斜線\,如\*、\ 、\{、\|、\( 和\)。

grep 指令是用來在每一個檔案或中(或特定輸出上)搜尋特定的模式,當使用grep 時,包含指定字元模式的每一行內容,都會被列印(顯示)到螢幕上,但是使用grep 指令不會改變文件中的內容。

grep 指令的基本格式如下:

[root@localhost ~]# grep [选项] 模式 文件名

這裡的模式,要嘛是字元(字串),要嘛是正規表示式。而此指令常用的選項以及各自的意義如表 2 所示。

##意思- c只列出檔案中包含模式的行數。 -i忽略模式中的字母大小寫。 -l列出有符合行的檔案名稱。 -n在每一行的最前面列出行號。 -v列出沒有符合模式的行。 -w把表達式當作一個完整的單字元來搜尋,忽略那些部分符合的行。
表2 grep 指令常用選項及意義
#選項
注意,如果是搜尋多個文件,grep 指令的搜尋結果只顯示文件中發現符合模式的文件名稱;而如果搜尋單一文件,grep 指令的結果將顯示每一個包含匹配模式的行。

【例1】假設有一份emp.data 員工清單,現在要搜尋此文件,找出職位為CLERK 的所有員工,則執行命令如下:

[root@localhost ~]# grep CLERK emp.data
#忽略输出内容

而在此基礎上,如果只想知道職位為CLERK 的員工的人數,可以使用“-c”選項,執行命令如下:

[root@localhost ~]# grep -c CLERK emp.data
#忽略输出内容

【例2】搜尋emp.data 文件,使用正則表達式找出以78 開頭的資料行,執行指令如下:

[root@localhost ~]# grep ^78 emp.data
#忽略输出内容

grep 指令的功能非常強大,透過利用它的不同選項以及變化萬千的正規表示式,可以取得任何我們所需要的資訊。

相關推薦:《

Linux影片教學

以上是在linux中可以找到文件內容嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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