一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

Linux grep命令詳解

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

簡介

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

選項

以下是grep的所有選項:

grep [options] [pattern] [files]

-a, --text: 將二進制文件作為文本文件處理。

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

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

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

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

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

-n, --line-number: 在每行的前面打印行號。

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

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

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

-w, --word-regexp: 僅匹配整個單詞。

pattern通常是一個正則表達式,用于匹配指定的文本模式。

files可以是若干個文件,也可以是目錄。

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

常用grep選項舉例

下面是常用的grep選項及其舉例:

搜索指定字符串

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

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

搜索多個字符串

使用-E選項可以在同一行中搜索多個字符串。

grep -E "hello|world" file.txt

忽略大小寫

使用-i選項可以忽略大小寫的差異。

grep -i "hello" file.txt

輸出行號

使用-n選項可以輸出匹配字符串所在行的行號。

grep -n "hello" file.txt

反向搜索

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

grep -v "hello" file.txt

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

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

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

搜索整個單詞

使用-w選項可以搜索指定單詞作為整個單詞匹配。

grep -w "hello" file.txt

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

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

grep -c "hello" file.txt

搜索指定文件類型

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

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

搜索子目錄

使用-r或-R選項可以搜索子目錄的文件。

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

不忽略二進制文件

使用-a選項可以強制grep搜索二進制文件。

grep -a "hello" binary_file.bin

搜索時忽略特定目錄

使用 --exclude-dir選項來忽略特定目錄的搜索。

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

搜索特定行數(shù)

使用 -m 選項指定只搜索文件中的前幾行。

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

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

使用 -o 選項僅輸出匹配字符串,而 -A 和 -B 選項可以輸出字符串前后的內(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 選項輸出不匹配指定字符串的行。

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

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

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

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

搜索多個文件

可以一次性搜索多個文件。

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

搜索時忽略空白字符

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

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

搜索時查看匹配字符串的上文或下文

使用 -B 和 -A 選項,可查看匹配字符串上下文的內(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)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11420

    瀏覽量

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

    關(guān)注

    1

    文章

    589

    瀏覽量

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

    關(guān)注

    5

    文章

    722

    瀏覽量

    22631
  • grep
    +關(guān)注

    關(guān)注

    0

    文章

    23

    瀏覽量

    4832

原文標題:常用grep選項舉例

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

收藏 人收藏

    評論

    相關(guān)推薦

    Linuxgrep命令的12個實際例子

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

    Linuxgrep、sed和awk命令詳解

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

    工具,它能使用正則表達式搜索文本,并把匹配的行打印出來?! 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 ?888次閱讀

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

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

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

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

    Linux命令詳解 [兼容模式]pdf免費下載

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

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

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

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

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

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

    linux中,scp命令用于Linux之間復制文件和目錄,即在一臺Linux服務器中將本地的文件上傳到一臺遠端服務器,或?qū)⑦h端服務器的文件下載到本地。scp是
    發(fā)表于 09-04 15:36 ?4542次閱讀
    <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虛擬機之tcpdump命令操作詳解

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

    grep命令常用的選項詳解

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

    如何使用grep命令

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