- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業務經營許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯網協會理事單位
- 安全聯盟認證網站身份V標記
- 域名注冊服務機構許可:滇D3-20230001
- 代理域名注冊服務機構:新網數碼
Linux命令行以其強大的文本處理能力著稱,其中grep和sed命令是最常用的工具之一。它們分別用于搜索和編輯文本文件,在系統管理、日志分析、文本處理等領域都有廣泛的應用。本文將深入探討這兩個命令的使用方法,涵蓋其基本概念、常用參數和典型用例。
本文將詳細介紹這三種工具的基本用法和應用場景,幫助你掌握它們在實際操作中的技巧。
1. 特點及應用場景
2. grep 命令
grep(Global Regular Expression Print)是一款功能強大的文本搜索工具。它可以通過指定的模式在文件中查找匹配的行,并將這些行打印到標準輸出。
其基本語法如下:
grep [選項] '模式' 文件名
2.1 grep命令常用參數及含義
-i
:忽略大小寫(case-insensitive)地搜索。
-v
:反轉匹配,顯示不符合模式的行。
-c
:顯示匹配行的數量,而不是匹配的行內容。
-n
:顯示匹配行的行號。
-r
或 -R
:遞歸地搜索目錄中的文件。-R
也會跟蹤符號鏈接。
-w
:只匹配整個單詞。
2.2.1 匹配查詢的內容并顯示其后面的5行
2.2.2 統計某個進程及出現的行數
2.2.3 grep 過濾自身進程
2.2.4 精確匹配
2.2.5 搜索時忽略字母的大小寫差異
2.2.6 顯示匹配行的行號
2.2.7 在當前目錄及其子目錄中的所有文件中搜索包含“404”的行
2.2.8 統計包含特定字符串的行數
3. sed
sed是Stream Editor的縮寫,是一種非交互式的流編輯器。sed允許對文本進行插入、刪除、替換等操作,而無需打開文件。這使得它在批處理文本文件時非常高效。
具體工作機制要經歷如下幾步:
sed
從文件或標準輸入(stdin)讀取一行文本,并將其放入模式空間(pattern space)中。
根據用戶提供的命令,sed
在模式空間中對這行文本進行處理。常見的操作包括:
替換(s): 查找并替換模式中的文本。
刪除(d): 刪除匹配到的行。
插入/追加(i/a): 在匹配到的行之前或之后插入文本。
打印(p): 打印模式空間的內容。
除非明確要求刪除,處理后的內容會輸出到標準輸出(stdout),或者被重定向到一個文件。
sed
會對輸入的每一行重復上述步驟,直到所有行都被處理完。
3.1 查找操作
3.1.1 指定行號查找
3.1.2 指定行號范圍查找 【$表示最后一行 】
3.1.3 過濾
3.1.4 通過正則查找 【-r】
3.1.5 范圍過濾
3.1.6 范圍查找【當終止范圍不存在,顯示開始范圍到文件末尾】
3.2 刪除操作
3.2.1 指定行號刪除
3.2.2 刪除空行或者#
3.3 sed 核心應用之增加cai
3.3.1 增加內容
3.3.2 向文件config中增加多行
3.4 sed 核心應用之替換 s
3.4.1 替換每一行數字為空,加g表示全局替換
3.4.2 替換每一行數字為空,不加g表示只替換每行第一個匹配內容
4.總結
grep和sed是Linux命令行中非常強大的工具,它們各自擅長于搜索和編輯文本文件。通過理解和掌握這兩個命令的使用方法,可以在日常的系統管理、腳本編寫和數據處理工作中大大提高效率。grep的靈活搜索能力和sed的強大編輯能力相結合,使得它們在處理大規模文本數據時表現尤為出色。
在實際工作中,通過不斷練習和應用這兩個工具,你將能夠輕松應對各種文本處理任務,成為Linux命令行的高手。
售前咨詢
售后咨詢
備案咨詢
二維碼
TOP