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 用新的文字改變本行的文字...