成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Linux grep 命令到底有多強?90% 的人只會用最簡單的用法!

系統(tǒng) Linux
今天,我們就用 大白話 + 實戰(zhàn) 帶你徹底學(xué)會 grep,讓你告別低效查找,成為 Linux 命令行高手!

你有沒有遇到過這種情況?

  • 日志文件太大,想找某個關(guān)鍵字,翻得眼花繚亂?
  • 代碼里某個變量到底在哪改的,找半天都沒找到?
  • 成百上千個文件里,想找某個特定的內(nèi)容,手動翻找效率太低?

如果你還在一行行地 Ctrl + F 查找內(nèi)容,那你真的該認識一下 Linux 里最強大的查找工具——grep!它不僅能幫你 快速定位 關(guān)鍵內(nèi)容,還能 支持正則匹配、多文件查找、高亮顯示,讓你在海量數(shù)據(jù)中一秒找到目標(biāo)!

今天,我們就用 大白話 + 實戰(zhàn) 帶你徹底學(xué)會 grep,讓你告別低效查找,成為 Linux 命令行高手!

一、grep 到底是干嘛的?

一句話總結(jié): grep 是 Linux 里的 文本搜索神器,能在 文件、日志、代碼 里 快速搜索 你想找的內(nèi)容。

比如,你有個日志文件 server.log,想找出里面 出現(xiàn) “error” 的所有行,如果你用鼠標(biāo)翻,可能要幾分鐘,但用 grep 只要 1 秒鐘:

grep "error" server.log

是不是很酷?接下來,我們就來看看 grep 的常用玩法!

二、最常用的 grep 語法

1. 基本用法:查找關(guān)鍵詞

查找文件中包含某個關(guān)鍵詞的行

grep "hello" myfile.txt

解釋:這個命令會在 myfile.txt 里查找 包含 "hello" 的所有行,然后把結(jié)果打印出來。

2. 忽略大小寫

大小寫不敏感匹配(比如 Error 和 error 都能找到)

grep -i "error" server.log

解釋:-i 讓 grep忽略大小寫,比如 ERROR、Error、error,統(tǒng)統(tǒng)都能匹配出來!

3. 遞歸查找:在多個文件中查找

想找某個關(guān)鍵詞在哪個文件里出現(xiàn)了?

grep -r "main()" .

解釋:

  • -r 讓 grep 進入 當(dāng)前目錄的所有文件和子目錄 里查找 "main()"。
  • 這個對 查找代碼里的某個函數(shù)、某個變量 非常有用!

4. 顯示行號

查找時順便顯示行號,方便定位

grep -n "password" config.txt

解釋:-n 讓 grep 顯示匹配的行 在文件里的行號,這樣你就能一眼找到它在哪。

5. 只顯示匹配的文件

當(dāng)你在一堆文件里找內(nèi)容時,只想知道哪些文件包含這個關(guān)鍵詞

grep -l "TODO" *.c

解釋:-l 只顯示 包含 "TODO" 的文件名,不會輸出具體匹配內(nèi)容。

6. 反向查找(排除某些內(nèi)容)

想找不包含某個關(guān)鍵詞的行?

grep -v "debug" log.txt

解釋:-v 讓 grep排除 包含 "debug" 的行,輸出 不含 "debug" 的內(nèi)容。

7. 顯示匹配的上下文

只看匹配行可能不夠,想看看前后幾行內(nèi)容?

grep -C 5 "error" server.log

解釋:-C 5 讓 grep顯示匹配行前后 5 行,這樣你就能看到錯誤前后發(fā)生了什么。

8. 高亮顯示匹配內(nèi)容

讓匹配的部分更醒目

grep --color "error" server.log

解釋:--color 讓 grep高亮顯示匹配的內(nèi)容,這樣你就能更快地看到關(guān)鍵部分。

注意:加不加 --color 參數(shù),可能顯示結(jié)果都一樣,因為系統(tǒng)默認啟用了 --color=auto 參數(shù)。

9. 結(jié)合 -c,統(tǒng)計匹配的行數(shù)

統(tǒng)計 log.txt 里包含 "error" 的行數(shù)

grep -c "error" log.txt

解釋:-c只統(tǒng)計匹配的行數(shù),不輸出具體內(nèi)容。

適用場景:快速檢查某個關(guān)鍵詞在文件中出現(xiàn)的次數(shù),比如日志里有多少行是錯誤信息。

10. 結(jié)合 -o,只輸出匹配的關(guān)鍵內(nèi)容

從日志中提取所有 IP 地址

grep -oE "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+" logs.txtgrep -oE "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+" logs.txt

解釋:

  • -o只輸出匹配的部分,而不是整行內(nèi)容。
  • -E啟用正則,匹配 IPv4 地址。

適用場景:當(dāng)你只想提取某些關(guān)鍵信息時,比如 提取 IP、URL、郵箱等。

11. 結(jié)合 -m,限制匹配的行數(shù)

?? 查找文件中的 "error",但最多只輸出前 3 行

grep -m 3 "error" server.log

解釋:-m 3最多匹配 3 行,即使文件里有更多匹配項,也只顯示 3 行。

適用場景:當(dāng)你只想看 部分匹配內(nèi)容,避免輸出太多信息時。

12. 結(jié)合 -w,精確匹配完整單詞

只匹配完整的 "error",不匹配 "error_code" 或 "myerror"

grep -w "error" server.log

解釋:-w匹配完整單詞,比如 "error",但不會匹配 "myerror" 或 "error_code"。

適用場景:查找變量名、關(guān)鍵字,避免匹配到無關(guān)內(nèi)容。

13. 結(jié)合 -F,精準(zhǔn)匹配,不使用正則

查找包含 [ERROR] 的日志行

grep -F "[ERROR]" logs.txt

解釋:

  • -F把搜索內(nèi)容當(dāng)作普通字符串,不會當(dāng)成正則表達式解析。
  • 避免 [ ] . * + 這些符號被誤認為正則表達式。

適用場景:當(dāng)搜索的內(nèi)容包含 特殊字符,但你不想用正則時。

三、進階用法:組合 grep 選項,讓查找更高效!

在實際使用中,單獨使用 grep 可能不夠靈活,很多時候我們需要 組合多個選項,讓 grep 更加強大!下面是幾種常見的組合用法:

1. 結(jié)合 -r 和 -n,遞歸查找并顯示行號

?? 在當(dāng)前目錄及子目錄中,查找 "error",并顯示行號

grep -rn "error" .   

// 命令解釋:在當(dāng)前目錄 (.) 及其所有子目錄中遞歸 (-r),查找包含 "error" 的文件,并顯示匹配的行號 (-n)。

解釋:-r 遞歸查找,-n 顯示行號,方便快速定位錯誤位置。

2. 結(jié)合 -v 和 -i,排除某些內(nèi)容,并忽略大小寫

查找日志中所有包含 "warning" 但不包含 "debug" 的行

grep -i "warning" server.log | grep -v "debug"

解釋:

  • -i 讓 "warning" 大小寫不敏感匹配(WARNING、Warning 都能匹配)。
  • grep -v "debug"把包含 "debug" 的行過濾掉,只留下我們關(guān)心的 warning 信息。

3. 結(jié)合 -l 和 -r,快速找到含有關(guān)鍵字的文件

在項目目錄中,找出所有包含 "TODO" 關(guān)鍵字的文件

grep -rl "TODO" .

命令解釋:在當(dāng)前目錄 (.) 及其所有子目錄中遞歸 (-r) 搜索包含 "TODO" 的文件,并僅顯示匹配的文件名 (-l),而不顯示具體內(nèi)容。

解釋:

  • -r 遞歸查找文件。
  • -l 只顯示 文件名,不會顯示匹配的具體內(nèi)容。
  • 適用于 查找代碼里哪些文件包含某個關(guān)鍵詞,特別方便!

4. 結(jié)合 -A / -B / -C,按上下文查找

  • 找出包含 "error" 的日志,并顯示前后 5 行
grep -C 5 "error" server.log
  • 找出包含 "error" 的日志,并顯示前 5 行
grep -B 5 "error" server.log
  • 找出包含 "error" 的日志,并顯示后 5 行
grep -A 5 "error" server.log

解釋:

  • -C 讓 grep顯示匹配行的前后 5 行。
  • -B 只顯示 前 5 行(B = Before)。
  • -A 只顯示 后 5 行(A = After)。
  • 適用于 查找某個錯誤發(fā)生的上下文信息,有助于分析問題。

5. 結(jié)合 |(管道符),把 grep 結(jié)果再過濾

查找日志中所有 "error" 相關(guān)內(nèi)容,但排除 "timeout"

grep "error" server.log | grep -v "timeout"

解釋:

  • 先用 grep "error" 找到所有包含 "error" 的行。
  • 再用 grep -v "timeout"過濾掉包含 "timeout" 的行。
  • 適用于 日志分析、過濾關(guān)鍵數(shù)據(jù)。

6. 結(jié)合 -nRI,遞歸查找文本文件并顯示行號

在項目代碼中查找某個函數(shù),但忽略二進制文件

grep -nRI "init_database" .

解釋:

  • -n顯示行號,方便快速定位。
  • -R遞歸查找,會進入子目錄搜索所有文件。
  • -I忽略二進制文件,避免 .o、.so 這些非文本文件干擾搜索結(jié)果。

適用場景:在 C/C++、Python、Shell 項目 里快速查找函數(shù)、變量的定義、以及任何其他關(guān)鍵詞。

7. 結(jié)合 xargs,批量查找多個關(guān)鍵詞

場景1: 在所有 .c 文件中查找 "error" 或 "warning"

echo -e "error\nwarning" | xargs -I {} grep -rn {} *.c

解釋:

  • echo -e "error\nwarning" 生成 兩個關(guān)鍵詞。
  • xargs -I {} : 把關(guān)鍵詞一個個傳給 grep 進行匹配。

適用場景:當(dāng)你需要 查找多個關(guān)鍵詞 時,比如找 "error" 和 "warning",但不想寫多個 grep 命令。

場景2:刪除所有包含 "DEBUG" 的日志文件

grep -rl "DEBUG" /var/log | xargs rm -f

解釋:

  • grep -rl "DEBUG" /var/log 查找 包含 "DEBUG" 的日志文件
  • xargs rm -f 把這些文件名傳給 rm 命令,批量刪除

注意:此命令不可逆,建議先用 grep -rl 確認文件后再執(zhí)行刪除!

8. 結(jié)合 tail,實時監(jiān)控日志中的關(guān)鍵字

實時監(jiān)控日志,并只顯示包含 "error" 的行

tail -f /var/log/syslog | grep --color "error"

解釋:

  • tail -f持續(xù)輸出最新的日志,不需要每次手動運行。
  • grep --color "error"實時匹配 "error",并高亮顯示。

適用場景:

  • 服務(wù)器日志實時監(jiān)控,及時發(fā)現(xiàn)錯誤。
  • 監(jiān)控 Web 服務(wù)器訪問日志(如 nginx、apache)。

9. 查找日志中所有 IP 地址(并去重)

從日志文件中提取所有出現(xiàn)過的 IP 地址,并去重

grep -oE "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+" /var/log/syslog | sort | uniq

解釋:

  • -o只輸出匹配的部分,不會打印整行日志,只顯示匹配的 IP 地址。
  • -E啟用擴展正則,用于匹配 IPv4 地址格式(四段數(shù)字,每段 0-255 之間)。
  • sort排序,讓相同的 IP 挨在一起,方便去重。
  • uniq去重,讓每個 IP 只出現(xiàn)一次,防止重復(fù)數(shù)據(jù)干擾分析。

適用場景:

  • 統(tǒng)計日志中有哪些訪問 IP,分析訪問來源。
  • 用于網(wǎng)絡(luò)安全、服務(wù)器日志分析,查看可疑 IP。

如果你想 統(tǒng)計每個 IP 出現(xiàn)的次數(shù),可以這樣做:

grep -oE "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+" /var/log/syslog | sort | uniq -c | sort -nr

解釋:

  • uniq -c統(tǒng)計去重后的 IP 出現(xiàn)次數(shù)。
  • sort -nr按出現(xiàn)次數(shù)從高到低排序,快速找到最常見的 IP。

適用場景:

  • 識別 訪問頻率最高的 IP,防止惡意攻擊(如 DDoS)。
  • 監(jiān)控日志,分析服務(wù)器訪問情況。

10. 結(jié)合 grep 和 cut,提取某列數(shù)據(jù)

場景1:從 CSV 文件中提取第二列的用戶 ID,并統(tǒng)計不同 ID 的個數(shù)

grep "成功" logs.csv | cut -d',' -f2 | sort | uniq -c

解釋:

  • grep "成功" :先篩選出包含 "成功" 的行。
  • cut -d',' -f2 : 提取 CSV 里用逗號分隔的第二列(假設(shè)是用戶 ID)。
  • sort | uniq -c 統(tǒng)計不同用戶 ID 的出現(xiàn)次數(shù)。

適用場景:

  • 數(shù)據(jù)分析,統(tǒng)計不同用戶 ID 的成功請求次數(shù)。
  • 處理日志文件,提取和篩選有用數(shù)據(jù)。

場景2:提取 Nginx 訪問日志的 URL

示例日志(access.log):

192.168.1.1 - - [01/Feb/2024:12:34:56] "GET /index.html HTTP/1.1" 200 512 "-"
192.168.1.2 - - [01/Feb/2024:12:35:00] "GET /about.html HTTP/1.1" 200 432 "-"
192.168.1.3 - - [01/Feb/2024:12:35:10] "GET /contact.html HTTP/1.1" 200 654 "-"

提取所有 GET 請求的 URL:

grep "GET" access.log | cut -d'"' -f2 | cut -d' ' -f2

解釋:

  • grep "GET" 過濾出 HTTP GET 請求
  • cut -d'"' -f2 提取 雙引號內(nèi) 的內(nèi)容
  • cut -d' ' -f2 提取 第二個字段(URL)

輸出:

/index.html
/about.html
/contact.html

統(tǒng)計訪問量最高的 URL:

grep "GET" access.log | cut -d'"' -f2 | cut -d' ' -f2 | sort | uniq -c | sort -nr

示例輸出:

5 /index.html
3 /about.html
2 /contact.html

實用場景:

  • 提取網(wǎng)站訪問的 URL
  • 統(tǒng)計訪問次數(shù),分析熱門頁面

簡潔高效,適用于日志分析!

11. 結(jié)合 grep 和 find,搜索指定類型的文件

在 /path 目錄遞歸查找所有 .log 文件,并在這些文件中搜索 "關(guān)鍵詞",輸出匹配的行。

find /path -type f -name "*.log" -exec grep "關(guān)鍵詞" {} +

逐步拆解

部分

作用

find /path

在 /path 目錄及所有子目錄中查找文件

-type f

只查找普通文件(排除目錄等其他類型)

-name "*.log"

只匹配 .log 結(jié)尾的文件(即日志文件)

-exec

對查找到的文件執(zhí)行后續(xù)命令

grep "關(guān)鍵詞" {}

在每個找到的日志文件中搜索 "關(guān)鍵詞"

{}

代表 find 查找到的文件名,會被 grep 替換

+

批量執(zhí)行grep,提高效率(不同于 \;,它會逐個執(zhí)行)

例子 1:查找 /var/log/目錄下所有 *.log 文件中包含 ERROR 的行

find /var/log -type f -name "*.log" -exec grep "ERROR" {} +

 實際作用:

  • 先在 /var/log 目錄下查找所有 .log 文件
  • 然后在這些 .log 文件中搜索 "ERROR"
  • 輸出包含 "ERROR" 的 行 + 文件名

示例輸出:

/var/log/system.log:Feb 1 12:30:22 server kernel: ERROR: Disk failure detected

-exec 中 + 和 \; 的區(qū)別

① +(推薦)—— 批量執(zhí)行,提高效率:

find /var/log -type f -name "*.log" -exec grep "ERROR" {} +

find會盡可能把多個文件傳遞給 grep,減少命令執(zhí)行次數(shù),提高效率。

等效于:

grep "ERROR" file1.log file2.log file3.log

② \; —— 每個文件執(zhí)行一次,效率低

find /var/log -type f -name "*.log" -exec grep "ERROR" {} \;

find會對每個*.log文件單獨執(zhí)行g(shù)rep,效率低下。

等效于:

grep "ERROR" file1.log
grep "ERROR" file2.log
grep "ERROR" file3.log

推薦使用 +,避免對大量文件執(zhí)行 grep 時的性能問題!

例子 2:查找 *.log 文件中包含"ERROR",但排除 backup.log

find /var/log -type f -name "*.log" ! -name "backup.log" -exec grep "ERROR" {} +

作用:! -name "backup.log" 讓 find排除backup.log,防止誤搜

例子 3:統(tǒng)計 *.log 文件中"ERROR" 關(guān)鍵詞出現(xiàn)的次數(shù)

find /var/log -type f -name "*.log" -exec grep -c "ERROR" {} +

示例輸出:

/var/log/nginx/access.log: 15
/var/log/system.log: 3

grep -c 統(tǒng)計 "ERROR" 出現(xiàn)的次數(shù),適用于日志分析。

12. 結(jié)合 grep 和 head,只顯示最前面的匹配結(jié)果

在日志文件中查找 "error",只顯示最早的 5 行:

grep -i "error" /var/log/syslog | head -5

解釋:

  • grep -i "error"找出所有包含 "error" 的行。
  • head -5 只顯示前 5 行,避免輸出太多內(nèi)容。

適用場景:只想看看 最早發(fā)生的錯誤,不關(guān)心后面的記錄。

13. 結(jié)合 grep 和 diff,對比兩個文件的不同之處

對比 file1.log 和 file2.log,只顯示不同的行:

grep -v -f file1.log file2.log

解釋:

  • -f file1.log將 file1.log 里的內(nèi)容作為匹配模板。
  • grep -v排除所有在 file1.log 里已經(jīng)存在的行,最終顯示 file2.log 里有但 file1.log 里沒有的內(nèi)容。

適用場景:比較兩個日志文件的不同,找出新增的錯誤或信息。

14. 結(jié)合 grep 和 wc,統(tǒng)計不同關(guān)鍵詞的出現(xiàn)次數(shù)

統(tǒng)計日志中 "error"、"warning"、"failed" 出現(xiàn)的次數(shù)

grep -E "error|warning|failed" /var/log/syslog | wc -l

解釋:

  • grep -E "error|warning|failed"匹配多個關(guān)鍵詞(支持正則表達式)。
  • wc -l統(tǒng)計匹配到的行數(shù),讓你知道這些關(guān)鍵詞在日志里出現(xiàn)了多少次。

適用場景:統(tǒng)計關(guān)鍵日志事件的發(fā)生頻率,判斷是否有嚴(yán)重問題。

15. 結(jié)合 grep 和 tee,同時輸出匹配結(jié)果到終端和文件

查找日志中的 "error",并保存到 error.log:

grep -i "error" /var/log/syslog | tee error.log

解釋:

  • grep -i "error"查找所有錯誤信息。
  • tee error.log把結(jié)果同時輸出到終端和 error.log 文件,方便后續(xù)分析。

適用場景:需要 實時查看匹配結(jié)果,同時保存到文件 以備后續(xù)分析。

16. grep + sort | uniq:統(tǒng)計匹配內(nèi)容

統(tǒng)計 server.log 中出現(xiàn)的所有錯誤類型:

grep "ERROR" server.log | awk '{print $2}' | sort | uniq -c

解釋:

  • grep "ERROR" server.log 先找出所有包含 "ERROR" 的行
  • awk '{print $2}' 提取 第二列(假設(shè)錯誤類型在第二列)
  • sort 排序
  • uniq -c 統(tǒng)計每種錯誤類型出現(xiàn)的次數(shù)

實用場景:統(tǒng)計日志中各種錯誤的發(fā)生頻率,快速定位高頻錯誤。

17. 結(jié)合 sed,批量替換文本

批量替換日志中的 "error" 為 "ERROR"

grep -l "error" *.log | xargs sed -i 's/error/ERROR/g'

解釋:

  • grep -l "error" *.log : 找到所有包含 "error" 的日志文件。
  • xargs sed -i 's/error/ERROR/g' : 逐個修改這些文件,將 "error" 變成 "ERROR"。

適用場景:批量修改 文件中的內(nèi)容,避免手動修改多個文件。

18. 結(jié)合 awk,提取關(guān)鍵信息

從 access.log 里提取訪問 IP

grep "200" access.log | awk '{print $1}' | sort | uniq -c | sort -nr

解釋:

  • grep "200" : 篩選返回狀態(tài)碼 200(成功訪問) 的日志。
  • awk '{print $1}' : 提取日志中的第 1 列(通常是 IP 地址)。
  • sort | uniq -c : 統(tǒng)計每個 IP 訪問次數(shù)。
  • sort -nr : 按訪問次數(shù)從高到低排序。

適用場景:

  • 分析 網(wǎng)站訪問來源,識別熱門 IP。
  • 識別惡意爬蟲,發(fā)現(xiàn)異常高頻 IP。

19. grep + ps:查找正在運行的進程

檢查系統(tǒng)中是否有 nginx 進程運行

ps aux | grep "nginx"

解釋:

  • ps aux 列出所有運行的進程
  • grep "nginx" 過濾出包含 "nginx" 的進程

更精確的用法(排除 grep 自己):

ps aux | grep nginx | grep -v grep
或
ps aux | grep "[n]ginx"

這里的 [n]ginx 是一個小技巧,避免 grep 命令本身出現(xiàn)在結(jié)果中。

20. grep + netstat / ss:查看端口占用

查找正在使用 8080 端口的進程

netstat -tulnp | grep "8080"

解釋:

  • netstat -tulnp 顯示所有監(jiān)聽的端口
  • grep "8080" 過濾出使用 8080 端口的進程

如果 netstat 不可用,可以用 ss 代替:

ss -tulnp | grep "8080"

實用場景:排查端口占用問題,確認某個端口是否被某個進程占用。

四、總結(jié):學(xué)會 grep,你的查找效率起飛!

grep 是一個超級實用的工具,掌握以下幾個最常用的參數(shù),你的查找效率絕對提升 10 倍。

常用語法:

  • grep "關(guān)鍵詞" 文件 —— 查找文件中的內(nèi)容
  • grep -i "關(guān)鍵詞" 文件 —— 忽略大小寫
  • grep -r "關(guān)鍵詞" 目錄 —— 遞歸查找文件夾中的內(nèi)容
  •  grep -n "關(guān)鍵詞" 文件 —— 顯示匹配的行號
  • grep -v "關(guān)鍵詞" 文件 —— 反向查找,不包含關(guān)鍵詞的行
  • grep -C 3 "關(guān)鍵詞" 文件 —— 顯示前后 3 行內(nèi)容
  • grep --color "關(guān)鍵詞" 文件 —— 高亮顯示匹配的內(nèi)容

進階用法:組合 grep 選項,讓查找更高效!

  • grep -rn "關(guān)鍵詞" . —— 遞歸查找文件,并顯示行號
  • grep -ri "關(guān)鍵詞" . —— 遞歸查找,并忽略大小寫
  • grep -rl "關(guān)鍵詞" . —— 遞歸查找,只顯示匹配的文件名
  • grep -A 3 "關(guān)鍵詞" 文件 —— 顯示匹配行及 后 3 行
  • grep -B 5 "關(guān)鍵詞" 文件 —— 顯示匹配行及 前 5 行
  • grep -C 2 "關(guān)鍵詞" 文件 —— 顯示匹配行的 前后 2 行
  • grep -c "關(guān)鍵詞" 文件 —— 統(tǒng)計 匹配行的數(shù)量
  • grep -o "關(guān)鍵詞" 文件 —— 只顯示匹配的 關(guān)鍵詞,不輸出整行
  • grep -m 5 "關(guān)鍵詞" 文件 —— 限制 輸出最多 5 行匹配內(nèi)容
  • grep -w "關(guān)鍵詞" 文件 —— 精確匹配完整單詞,不匹配部分字符
  • grep -F "關(guān)鍵詞" 文件 —— 純文本匹配,不使用正則表達式
  • grep "關(guān)鍵詞" 文件 | grep "其他關(guān)鍵詞" —— 多次過濾,篩選更精準(zhǔn)
  • grep "關(guān)鍵詞" 文件 | sort | uniq -c | sort -nr —— 統(tǒng)計關(guān)鍵詞出現(xiàn)次數(shù)
  • grep -r "關(guān)鍵詞" /path | xargs grep "其他關(guān)鍵詞" —— 批量搜索多個關(guān)鍵詞
  • grep "關(guān)鍵詞" 文件 | tee output.log —— 同時輸出到終端和文件
  • grep "關(guān)鍵詞" 文件 | cut -d' ' -f2 —— 提取特定字段(如 URL)
  • find /path -type f -name "*.log" -exec grep "關(guān)鍵詞" {} + —— 按文件類型搜索
  • ps aux | grep "nginx" —— 查找 正在運行的進程
  • netstat -tulnp | grep "8080" —— 查找 被占用的端口
  • tail -f 文件 | grep "關(guān)鍵詞" —— 實時監(jiān)控日志,過濾關(guān)鍵內(nèi)容
  • diff <(grep "關(guān)鍵詞" 文件1) <(grep "關(guān)鍵詞" 文件2) —— 對比兩個文件的匹配差異

下一步,掌握 sed 和 awk,玩轉(zhuǎn)文本處理!

grep 適合查找文本,而在 Linux 世界里,修改和格式化文本 還需要兩個更強大的工具:sed 和 awk。

  • sed:強大的 文本編輯器,可以 批量替換、刪除、修改 內(nèi)容。
  • awk:強大的 文本處理工具,適用于 數(shù)據(jù)提取、格式化、統(tǒng)計。
責(zé)任編輯:趙寧寧 來源: 跟著小康學(xué)編程
相關(guān)推薦

2016-07-25 13:26:40

大型機大機IBM

2013-08-16 11:26:56

2020-09-28 12:34:38

Python代碼開發(fā)

2023-02-09 08:57:11

Callable異步java

2022-07-20 10:09:15

AIAISummit智能搜索

2022-07-18 09:56:16

AI推薦搜索

2021-08-27 14:50:57

渲染UIC++ImGui

2009-08-31 08:42:31

Windows 7微軟因特爾合作

2012-12-17 11:40:10

戴爾

2022-10-21 15:02:36

DeepFake技術(shù)

2019-04-04 17:15:13

2022-04-28 21:53:52

TypeScriptany類型

2020-05-11 23:18:09

內(nèi)存條CPU插槽

2024-12-27 09:29:09

2024-04-24 14:43:40

Linux命令

2019-01-15 08:50:41

泄露人臉數(shù)據(jù)

2011-06-07 10:15:38

GNULinux

2009-12-25 13:44:00

grep命令

2018-06-26 14:29:44

LinuxUnix不同
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 亚洲综合五月天婷婷 | 香蕉久久久 | 老外几下就让我高潮了 | 欧美精品欧美精品系列 | 久久久久久久久久久91 | 国产一区二区美女 | 久久久蜜臀国产一区二区 | 亚洲 欧美 在线 一区 | 久久精品免费 | 国产一级片免费看 | 日韩国产黄色片 | 欧美激情精品久久久久 | 亚洲国产精品久久久久婷婷老年 | 2021天天干夜夜爽 | 日韩av成人在线 | 日韩欧美国产不卡 | 午夜爱爱网 | 国产美女自拍视频 | 午夜噜噜噜 | 国产中文字幕av | 成人午夜免费网站 | 99re99| 日韩免费高清视频 | 成人三级视频 | 黄色免费观看网站 | 青青久久 | 国产在线一区观看 | 牛牛热在线视频 | 九九九久久国产免费 | 一区二区三区视频免费观看 | 美日韩中文字幕 | 国产精品久久亚洲 | 精品免费视频 | 一区二区在线 | 欧美一区免费在线观看 | 欧美a在线| 亚洲精品永久免费 | 精品中文字幕一区二区三区 | 国产一区二区三区在线免费 | 久久久久久久久久爱 | 最新中文字幕一区 |