在linux中,可以利用grep指令來尋找文件內容,該指令是一種強大的文字搜尋工具,用來找出檔案裡符合條件的字串,能使用正規表示式來搜尋文字;語法“grep [選項] 模式檔名”。
本教學操作環境: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 所示的這幾種正規表示式的元字元(也就是通配符)。
#通配符 | 功能 |
---|---|
c* | 將符合0 個(即空白)或多個字元c(c 為任一字元)。 |
. | 將匹配任何一個字符,並且只能是一個字符。 |
[xyz] | 符合方括號中的任一個字元。 |
[^xyz] | 符合除方括號中字元外的所有字元。 |
^ | 鎖定行的開頭。 |
$ | 鎖定行的結尾。 |
需要注意的是,在基本正規表示式中,如通配符*、 、{、|、( 和)等,已經失去了它們原本的意義,而若要恢復它們原本的意義,則要在先前加上反斜線\,如\*、\ 、\{、\|、\( 和\)。
grep 指令是用來在每一個檔案或中(或特定輸出上)搜尋特定的模式,當使用grep 時,包含指定字元模式的每一行內容,都會被列印(顯示)到螢幕上,但是使用grep 指令不會改變文件中的內容。
grep 指令的基本格式如下:
[root@localhost ~]# grep [选项] 模式 文件名
這裡的模式,要嘛是字元(字串),要嘛是正規表示式。而此指令常用的選項以及各自的意義如表 2 所示。
#選項 | ##意思|
---|---|
只列出檔案中包含模式的行數。 | |
忽略模式中的字母大小寫。 | |
列出有符合行的檔案名稱。 | |
在每一行的最前面列出行號。 | |
列出沒有符合模式的行。 | |
把表達式當作一個完整的單字元來搜尋,忽略那些部分符合的行。 |
[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中文網其他相關文章!