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