0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux grep命令詳解

馬哥Linux運(yùn)維 ? 來源:博客園天外歸云 ? 2024-12-25 09:39 ? 次閱讀

簡(jiǎn)介

Linux grep命令是一種非常常用的文本搜索工具,它可以在給定的文件中搜索匹配的字符串,并輸出匹配的行。grep是全稱“global search regular expression print”,可以識(shí)別正則表達(dá)式,并使用正則表達(dá)式進(jìn)行搜索。

選項(xiàng)

以下是grep的所有選項(xiàng):

grep [options] [pattern] [files]

-a, --text: 將二進(jìn)制文件作為文本文件處理。

-c, --count: 顯示匹配行數(shù),而不是行本身。

-e pattern, --regexp=pattern: 查找指定的模式,支持多個(gè)模式。

-f file, --file=file: 從文件中讀取模式,每個(gè)模式占一行。

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

-l, --files-with-matches: 只打印文件名,而不是行本身。

-n, --line-number: 在每行的前面打印行號(hào)。

-r, --recursive: 遍歷子目錄中的文件。

-v, --invert-match: 輸出不匹配的行。

-x, --line-regexp: 僅匹配整行。

-w, --word-regexp: 僅匹配整個(gè)單詞。

pattern通常是一個(gè)正則表達(dá)式,用于匹配指定的文本模式。

files可以是若干個(gè)文件,也可以是目錄。

以上是grep命令的所有選項(xiàng),更多信息可以使用man grep在終端中查看。

常用grep選項(xiàng)舉例

下面是常用的grep選項(xiàng)及其舉例:

搜索指定字符串

可以使用grep搜索包含指定字符串的文件或文件夾,例如:

grep "hello" file.txt
grep "hello" folder/file.txt

搜索多個(gè)字符串

使用-E選項(xiàng)可以在同一行中搜索多個(gè)字符串。

grep -E "hello|world" file.txt

忽略大小寫

使用-i選項(xiàng)可以忽略大小寫的差異。

grep -i "hello" file.txt

輸出行號(hào)

使用-n選項(xiàng)可以輸出匹配字符串所在行的行號(hào)。

grep -n "hello" file.txt

反向搜索

使用-v選項(xiàng)可以輸出不包含指定字符串的行。

grep -v "hello" file.txt

搜索某個(gè)范圍內(nèi)的行

使用 -A, -B, 或-C選項(xiàng)搜索特定范圍內(nèi)的行。

grep -A 2 "hello" file.txt  #輸出包含“hello”的行以及后兩行。
grep -B 2 "hello" file.txt  #輸出包含“hello”的行以及前兩行。
grep -C 2 "hello" file.txt  #輸出包含“hello”的行以及前后兩行。

搜索整個(gè)單詞

使用-w選項(xiàng)可以搜索指定單詞作為整個(gè)單詞匹配。

grep -w "hello" file.txt

統(tǒng)計(jì)匹配次數(shù)

使用-c選項(xiàng)可以統(tǒng)計(jì)匹配字符串的個(gè)數(shù)。

grep -c "hello" file.txt

搜索指定文件類型

使用通配符可以搜索特定類型的文件或使用 --include選項(xiàng)來僅搜索指定文件類型。

grep "hello" *.txt
grep "hello" --include "*.txt" folder/

搜索子目錄

使用-r或-R選項(xiàng)可以搜索子目錄的文件。

grep -r "hello" folder/
grep -R "hello" folder/

不忽略二進(jìn)制文件

使用-a選項(xiàng)可以強(qiáng)制grep搜索二進(jìn)制文件。

grep -a "hello" binary_file.bin

搜索時(shí)忽略特定目錄

使用 --exclude-dir選項(xiàng)來忽略特定目錄的搜索。

grep -r "hello" folder/ --exclude-dir=log/

搜索特定行數(shù)

使用 -m 選項(xiàng)指定只搜索文件中的前幾行。

grep -m 10 'hello' file.txt # 只搜索文件中的前10行

輸出匹配字符串前后的內(nèi)容

使用 -o 選項(xiàng)僅輸出匹配字符串,而 -A 和 -B 選項(xiàng)可以輸出字符串前后的內(nèi)容。

grep -o 'hello' file.txt # 只輸出匹配到的 'hello' 字符串,而不包含它前后的內(nèi)容
grep -A 3 'hello' file.txt # 輸出包含 'hello' 字符串的行以及后三行
grep -B 2 'hello' file.txt # 輸出包含 'hello' 字符串的行以及前兩行

顯示不匹配行

使用 -L 選項(xiàng)輸出不匹配指定字符串的行。

grep -L 'hello' file.txt # 輸出不匹配 'hello' 字符串的行

顯示匹配行前幾行和后幾行的內(nèi)容

使用 -C 選項(xiàng),可以同時(shí)輸出匹配字符串前后幾行的內(nèi)容。

grep -C 2 'hello' file.txt # 輸出包含 'hello' 字符串的行以及前后兩行內(nèi)容

搜索多個(gè)文件

可以一次性搜索多個(gè)文件。

grep 'hello' file1.txt file2.txt file3.txt # 搜索 file1.txt, file2.txt, file3.txt 文件中的 'hello' 字符串

搜索時(shí)忽略空白字符

使用 -w 選項(xiàng),可以忽略匹配字符串前后的空格、制表符等空白字符。

grep -w 'hello' file.txt # 忽略匹配字符串前后的空格、制表符等空白字符

搜索時(shí)查看匹配字符串的上文或下文

使用 -B 和 -A 選項(xiàng),可查看匹配字符串上下文的內(nèi)容。

grep -B 2 'hello' file.txt # 輸出包含 ‘hello’ 字符串的行以及匹配字符串前2行
grep -A 3 'hello' file.txt # 輸出包含 ‘hello’ 字符串的行以及匹配字符串后3行

以上就是grep的所有功能舉例。

鏈接:https://www.cnblogs.com/LanTianYou/p/17359397.html

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11304

    瀏覽量

    209476
  • 字符串
    +關(guān)注

    關(guān)注

    1

    文章

    579

    瀏覽量

    20514
  • 命令
    +關(guān)注

    關(guān)注

    5

    文章

    684

    瀏覽量

    22021
  • grep
    +關(guān)注

    關(guān)注

    0

    文章

    23

    瀏覽量

    4726

原文標(biāo)題:常用grep選項(xiàng)舉例

文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Linuxgrep命令的12個(gè)實(shí)際例子

    Linuxgrep命令的12個(gè)實(shí)際例子
    發(fā)表于 02-08 09:38 ?702次閱讀

    Linuxgrep、sed和awk命令詳解

    今天給大家聊一聊Linux中文本操作的`三劍客:awk、grep、sed`,因其功能強(qiáng)大、使用頻繁,且是Linux下文本處理的得力利器,常被稱之為`文本三劍客`。`grep`常用于查找
    發(fā)表于 04-26 17:20 ?3251次閱讀
    <b class='flag-5'>Linux</b>中<b class='flag-5'>grep</b>、sed和awk<b class='flag-5'>命令</b><b class='flag-5'>詳解</b>

    Linux命令grep

    Linux命令grep
    發(fā)表于 05-29 07:13

    linux grep命令詳解

    工具,它能使用正則表達(dá)式搜索文本,并把匹配的行打印出來?! nix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是
    發(fā)表于 03-31 10:05

    Linux文件內(nèi)容查詢命令

    Linux文件內(nèi)容查詢命令 Linux文件內(nèi)容查詢命令  grep、fgrep和egrep命令
    發(fā)表于 01-18 12:45 ?846次閱讀

    Linux關(guān)機(jī)命令詳解

    Linux關(guān)機(jī)命令詳解linux下一些常用的關(guān)機(jī)/重啟命令有shutdown、halt、reboot、及init,它們都 可以達(dá)到重啟
    發(fā)表于 01-18 12:52 ?3631次閱讀

    Linux系統(tǒng)命令及其使用詳解 _120頁

    電子發(fā)燒友網(wǎng)站提供《Linux系統(tǒng)命令及其使用詳解 _120頁.doc》資料免費(fèi)下載
    發(fā)表于 04-18 13:23 ?3次下載

    Linux命令詳解 [兼容模式]pdf免費(fèi)下載

    linux命令詳解pdf,希望對(duì)大家有幫助!
    發(fā)表于 12-15 15:54 ?10次下載

    Linux中用grep命令來搜索單詞及統(tǒng)計(jì)匹配的行數(shù)

    代碼代碼如下:$ egrep -wi --color 'warning|error|critical' /var/log/messages輸出示例:用 grep 命令統(tǒng)計(jì)匹配字符串的行數(shù)在 Linux
    發(fā)表于 04-02 14:46 ?641次閱讀

    Linux在在文件中查找文本的Grep命令

    grep命令是(global regular expression print,全局正則表達(dá)式輸出)的縮寫,它是Linux中功能最強(qiáng)大且最常用的命令之一。
    的頭像 發(fā)表于 06-21 12:06 ?3319次閱讀

    linux的scp命令怎么用_linuxgrep命令用法

    linux中,scp命令用于Linux之間復(fù)制文件和目錄,即在一臺(tái)Linux服務(wù)器中將本地的文件上傳到一臺(tái)遠(yuǎn)端服務(wù)器,或?qū)⑦h(yuǎn)端服務(wù)器的文件下載到本地。scp是
    發(fā)表于 09-04 15:36 ?4427次閱讀
    <b class='flag-5'>linux</b>的scp<b class='flag-5'>命令</b>怎么用_<b class='flag-5'>linux</b>的<b class='flag-5'>grep</b><b class='flag-5'>命令</b>用法

    Linux系統(tǒng)中EXP命令詳解質(zhì)量匯總

    Linux系統(tǒng)中EXP命令詳解質(zhì)量匯總
    發(fā)表于 05-14 09:35 ?1次下載

    Linux虛擬機(jī)之tcpdump命令操作詳解

    Linux虛擬機(jī)之tcpdump命令操作詳解
    發(fā)表于 08-12 09:50 ?23次下載

    grep命令常用的選項(xiàng)詳解

    說明:在Rocky8系統(tǒng)中,grep默認(rèn)幫我們把匹配到的字符串標(biāo)注了紅色,這點(diǎn)還是挺貼心的。其實(shí)大家可以用which命令看一下grep,你會(huì)發(fā)現(xiàn)grep其實(shí)是
    的頭像 發(fā)表于 11-30 11:43 ?4565次閱讀

    如何使用grep命令

    grep命令的全稱是全局正則表達(dá)式打印,它是Linux中功能最強(qiáng)大且最常用的命令之一。
    的頭像 發(fā)表于 12-06 16:43 ?2117次閱讀