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

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

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

2025-03-03 10:11:56 1192

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


本文將詳細介紹這三種工具的基本用法和應用場景,幫助你掌握它們在實際操作中的技巧。


1. 特點及應用場景

image.png

2. grep 命令

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

其基本語法如下:


grep [選項] '模式' 文件名

2.1 grep命令常用參數及含義

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

  • -v:反轉匹配,顯示不符合模式的行。

  • -c:顯示匹配行的數量,而不是匹配的行內容。

  • -n:顯示匹配行的行號。

  • -r-R:遞歸地搜索目錄中的文件。-R 也會跟蹤符號鏈接。

  • -w:只匹配整個單詞。


2.2 實操篇


2.2.1 匹配查詢的內容并顯示其后面的5行

image.png


2.2.2 統計某個進程及出現的行數

image.png

2.2.3 grep 過濾自身進程

image.png

2.2.4 精確匹配

image.png

2.2.5 搜索時忽略字母的大小寫差異

image.png

2.2.6 顯示匹配行的行號

image.png

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

image.png

2.2.8 統計包含特定字符串的行數

image.png

3. sed

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

具體工作機制要經歷如下幾步:

1. 讀取輸入

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

2. 匹配與處理

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

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

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

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

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

3. 輸出

除非明確要求刪除,處理后的內容會輸出到標準輸出(stdout),或者被重定向到一個文件。

4. 循環處理

sed 會對輸入的每一行重復上述步驟,直到所有行都被處理完。

3.1 查找操作

image.png

3.1.1 指定行號查找

image.png

3.1.2 指定行號范圍查找 【$表示最后一行 】

image.png

3.1.3 過濾

image.png

3.1.4 通過正則查找 【-r】

image.png

3.1.5 范圍過濾

image.png

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

image.png

3.2 刪除操作

image.png

3.2.1 指定行號刪除


image.png

3.2.2 刪除空行或者#

image.png

3.3 sed 核心應用之增加cai

image.png

3.3.1 增加內容

image.png

3.3.2 向文件config中增加多行

image.png

3.4 sed 核心應用之替換 s

image.png

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

image.png

3.4.2 替換每一行數字為空,不加g表示只替換每行第一個匹配內容


image.png

4.總結

grep和sed是Linux命令行中非常強大的工具,它們各自擅長于搜索和編輯文本文件。通過理解和掌握這兩個命令的使用方法,可以在日常的系統管理、腳本編寫和數據處理工作中大大提高效率。grep的靈活搜索能力和sed的強大編輯能力相結合,使得它們在處理大規模文本數據時表現尤為出色。

在實際工作中,通過不斷練習和應用這兩個工具,你將能夠輕松應對各種文本處理任務,成為Linux命令行的高手。

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


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

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

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

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