linux基礎命令之sed

2021-07-31 07:23:29 字數 1452 閱讀 8385

sed是乙個流編輯器,英文全名為stream editor,流的意思就是能處理檔案或者通過管    道傳輸來的資料。主要針對行,也就是行編輯。預設是不編輯檔案的,處理時,把當前    處理的行儲存在臨時緩衝區中,稱之為模式空間(pattern space),接著用sed命令處理      緩衝區中的內容,處理完成後,預設把緩衝區的內容送往至螢幕,接著處理下一行。僅    對模式空間中的資料做處理,處理結束後將模式空間列印至螢幕

sed [options]  『addresscommand』  file 

options 

-e script  可以同時執行多個addresscommand,sed -e …… -e ……

-n  靜默模式,不顯示模式空間中的內容

-i  直接修改原檔案

-r  sed預設不支援擴充套件的正規表示式,-r則支援

-f  執行指定檔案,該檔案內容為addresscommand的一系列格式

address

1  startline,overline  用逗號分割

2  /pattern/  用正規表示式即可

3  /pattern1/,/pattern2/ 第一次被模式匹配的行開始,到第一次被模式2匹配到的行       結束

4  linenumber  指定的行,其中$表示最後一行。

5  startline +n  從指定行開始,向後的n行,共n+1行。

command  若有多個命令用;分開

d  刪除符合條件的行

p  輸出行,n和p一起用表示只列印那些發生變換的行

a\  在當前行下面插入文字

i\  在當前行上面插入文字

q  退出sed

n  讀取下一行,用下乙個命令處理新行,而不是第乙個命令。

a(此處有空格)\』string』  在指定的行後追加新行,內容為string

i(此處有空格)\』string』       行前

r(此處有空格)file  將指定檔案內容新增至符合條件的每行後面,可用來將兩個        檔案合併

w(此處有空格)file  指定範圍內行另存為指定檔案中。

s///  /pattern/string/修飾符  查詢pattern並替換為string,預設只替換每行中第一次        被匹配到的字串。/可以用@  #等代替。

修飾符 g   全域性替換

i  忽略大小寫

假設處理的文字為test.file

在每行的頭新增字元,比如"head",命令如下:

sed 's/^/head&/g' test.file

在每行的行尾新增字元,比如「tail」,命令如下:

sed 's/$/&tail/g' test.file

在指定行的末尾新增內容:

cat file

aaaa

bbbb

cccc

sed 『s/cc.*/& eeee/g』 file

Linux基礎學習之 sed 命令用法

sed option script inputfile 1 常用選項 n 不輸出模式空間內容到螢幕,即不自動列印 e 多點編輯 f path script file 從指定檔案中讀取編輯指令碼 r 支援使用擴充套件正規表示式 i.bak 備份檔案並原處編輯 p 列印 位址命令 預設則對整個問價進行修...

linux命令之sed命令詳解

1.sed簡介 2.定址 可以通過定址來定位你所希望編輯的行,該位址用數字構成,用逗號分隔的兩個行數表示以這兩行為起止的行的範圍 包括行數表示的那兩行 如1,3表示1,2,3行,美元符號 表示最後一行。範圍可以通過資料,正規表示式或者二者結合的方式確定 3.sed命令與選項 呼叫sed命令有兩種形式...

Linux之Sed命令詳解

3.sed命令 呼叫sed命令有兩種形式 sed options command file s sed options f scriptfile file s a 在當前行後面加入一行文字。b lable 分支到指令碼中帶有標記的地方,如果分支不存在則分支到指令碼的末尾。c 用新的文字改變本行的文字...