Linux 文字三劍客之 sed

2022-06-16 02:54:08 字數 984 閱讀 4376

linux 系統中一切皆檔案。

檔案是個文字。可以讀、可以寫,如果是二進位制檔案,還能執行。

在使用linux的時候,大都是要和各式各樣檔案打交道。熟悉文字的讀取、編輯、篩選就是linux系統管理員的必備技能

文字處理工具:grep、awk、sed,本篇主要講sed

sed行編輯命令。用來將資料進行選取、替換、刪除、新増的命令。預設情況是不會修改檔案內容,使用【-i】選項才會修改。

一般格式:sed  [選項] [動作]  檔案

選項:-n:不輸出內容到螢幕,不自動列印

-e: 多點編輯

-f 指令碼名:從指定檔案中讀取編輯指令碼。和 awk 命令的 -f 選項非常類似

-r:支援正規表示式

-i:直接修改讀取資料的檔案

-i.bak:先備份再修改

動作(使用單引號包含、數字代表行號、逗號代表範圍、""$""是最後一行):

注意:正規表示式使用變數的話建議使用三個單引號 '''$name''',不推薦""$name"""

‘地址’:第幾行

‘/正規表示式/’:在單引號中//寫入正規表示式

a:最後一行插入

c:行替換

i:倒數第二行插入

d:刪除行

p:列印行。輸出指定的行時,需要把"-n"選項和"p"動作一起使用

s:字串替換,用一個字串替換另一個字串。

格式:sed's/舊字串/新字串/g' 檔名(加g對整行有效,不加g只識別第一個)

常用:刪除#號,解除遮蔽,把#bb開頭和61結尾範圍內的行刪除#   sed  '/^#bb/,/61$/s/#//g' student.txt 

八 Linux三劍客之sed

處理文字檔案的命令 引數說明 動作說明 c 取代, c 的後面可以接字串,這些字串可以取代 n1 n2 之間的行! d 刪除,d 後面通常不接任何字串 p 列印,將某個選擇的資料印出。通常 p 會與引數 sed n 一起使用 s 取代,搭配正規使用,例如 1 20s old new g 案例在t...

三劍客之sed grep

如何取得 etc hosts 檔案的許可權對應的數字內容,如 rw r r 為 644,要求使用命令取得644 這樣的數字。 root zn...

linux三劍客之awk

linux三劍客 grep sed awk 與sed類似,awk是行處理器 相比較螢幕處理的優點,在處理龐大檔案時不會出現記憶體溢位或是處理...