手机看片精品高清国产日韩,色先锋资源综合网,国产哺乳奶水91在线播放,乱伦小说亚洲色图欧洲电影

幫助中心 >  行業(yè)資訊 >  云計(jì)算 >  掌握Linux文本處理利器:grep與sed全攻略

掌握Linux文本處理利器:grep與sed全攻略

2025-03-03 10:11:56 1187

Linux命令行以其強(qiáng)大的文本處理能力著稱,其中g(shù)rep和sed命令是最常用的工具之一。它們分別用于搜索和編輯文本文件,在系統(tǒng)管理、日志分析、文本處理等領(lǐng)域都有廣泛的應(yīng)用。本文將深入探討這兩個(gè)命令的使用方法,涵蓋其基本概念、常用參數(shù)和典型用例。


本文將詳細(xì)介紹這三種工具的基本用法和應(yīng)用場(chǎng)景,幫助你掌握它們?cè)趯?shí)際操作中的技巧。


1. 特點(diǎn)及應(yīng)用場(chǎng)景

image.png

2. grep 命令

grep(Global Regular Expression Print)是一款功能強(qiáng)大的文本搜索工具。它可以通過指定的模式在文件中查找匹配的行,并將這些行打印到標(biāo)準(zhǔn)輸出。

其基本語(yǔ)法如下:


grep [選項(xiàng)] '模式' 文件名

2.1 grep命令常用參數(shù)及含義

  • -i:忽略大小寫(case-insensitive)地搜索。

  • -v:反轉(zhuǎn)匹配,顯示不符合模式的行。

  • -c:顯示匹配行的數(shù)量,而不是匹配的行內(nèi)容。

  • -n:顯示匹配行的行號(hào)。

  • -r-R:遞歸地搜索目錄中的文件。-R 也會(huì)跟蹤符號(hào)鏈接。

  • -w:只匹配整個(gè)單詞。


2.2 實(shí)操篇


2.2.1 匹配查詢的內(nèi)容并顯示其后面的5行

image.png


2.2.2 統(tǒng)計(jì)某個(gè)進(jìn)程及出現(xiàn)的行數(shù)

image.png

2.2.3 grep 過濾自身進(jìn)程

image.png

2.2.4 精確匹配

image.png

2.2.5 搜索時(shí)忽略字母的大小寫差異

image.png

2.2.6 顯示匹配行的行號(hào)

image.png

2.2.7 在當(dāng)前目錄及其子目錄中的所有文件中搜索包含“404”的行

image.png

2.2.8 統(tǒng)計(jì)包含特定字符串的行數(shù)

image.png

3. sed

sed是Stream Editor的縮寫,是一種非交互式的流編輯器。sed允許對(duì)文本進(jìn)行插入、刪除、替換等操作,而無(wú)需打開文件。這使得它在批處理文本文件時(shí)非常高效。

具體工作機(jī)制要經(jīng)歷如下幾步:

1. 讀取輸入

sed 從文件或標(biāo)準(zhǔn)輸入(stdin)讀取一行文本,并將其放入模式空間(pattern space)中。

2. 匹配與處理

根據(jù)用戶提供的命令,sed 在模式空間中對(duì)這行文本進(jìn)行處理。常見的操作包括:

  • 替換(s): 查找并替換模式中的文本。

  • 刪除(d): 刪除匹配到的行。

  • 插入/追加(i/a): 在匹配到的行之前或之后插入文本。

  • 打印(p): 打印模式空間的內(nèi)容。

3. 輸出

除非明確要求刪除,處理后的內(nèi)容會(huì)輸出到標(biāo)準(zhǔn)輸出(stdout),或者被重定向到一個(gè)文件。

4. 循環(huán)處理

sed 會(huì)對(duì)輸入的每一行重復(fù)上述步驟,直到所有行都被處理完。

3.1 查找操作

image.png

3.1.1 指定行號(hào)查找

image.png

3.1.2 指定行號(hào)范圍查找 【$表示最后一行 】

image.png

3.1.3 過濾

image.png

3.1.4 通過正則查找 【-r】

image.png

3.1.5 范圍過濾

image.png

3.1.6 范圍查找【當(dāng)終止范圍不存在,顯示開始范圍到文件末尾】

image.png

3.2 刪除操作

image.png

3.2.1 指定行號(hào)刪除


image.png

3.2.2 刪除空行或者#

image.png

3.3 sed 核心應(yīng)用之增加cai

image.png

3.3.1 增加內(nèi)容

image.png

3.3.2 向文件config中增加多行

image.png

3.4 sed 核心應(yīng)用之替換 s

image.png

3.4.1 替換每一行數(shù)字為空,加g表示全局替換

image.png

3.4.2 替換每一行數(shù)字為空,不加g表示只替換每行第一個(gè)匹配內(nèi)容


image.png

4.總結(jié)

grep和sed是Linux命令行中非常強(qiáng)大的工具,它們各自擅長(zhǎng)于搜索和編輯文本文件。通過理解和掌握這兩個(gè)命令的使用方法,可以在日常的系統(tǒng)管理、腳本編寫和數(shù)據(jù)處理工作中大大提高效率。grep的靈活搜索能力和sed的強(qiáng)大編輯能力相結(jié)合,使得它們?cè)谔幚泶笠?guī)模文本數(shù)據(jù)時(shí)表現(xiàn)尤為出色。

在實(shí)際工作中,通過不斷練習(xí)和應(yīng)用這兩個(gè)工具,你將能夠輕松應(yīng)對(duì)各種文本處理任務(wù),成為L(zhǎng)inux命令行的高手。

藍(lán)隊(duì)云官網(wǎng)上擁有完善的技術(shù)支持庫(kù)可供參考,大家可自行查閱,更多技術(shù)問題,也可以直接咨詢。同時(shí),藍(lán)隊(duì)云整理了運(yùn)維必備的工具包免費(fèi)分享給大家使用,需要的朋友可以直接咨詢。更多技術(shù)知識(shí),藍(lán)隊(duì)云期待與你一起探索,助力你在 Linux 運(yùn)維之路上穩(wěn)步前行。


提交成功!非常感謝您的反饋,我們會(huì)繼續(xù)努力做到更好!

這條文檔是否有幫助解決問題?

非常抱歉未能幫助到您。為了給您提供更好的服務(wù),我們很需要您進(jìn)一步的反饋信息:

在文檔使用中是否遇到以下問題: