sed編輯器逐行處理輸入,然後把結果傳送到螢幕。
-i選項:直接作用原始檔,原始檔將被修改。
sed命令和選項:
a\在當前行後新增一行或多行
c\用新文字替換當前行中的文字
d刪除行
i\在當前行之前插入文字
h把模式空間的內容複製到暫存緩衝區
h把模式空間的內容新增到緩衝區
g取出暫存緩衝區的內容,將其複製到模式緩衝區
g取出暫存緩衝區的內容,將其追加到模式緩衝區
l列出非列印字元
p列印行
n讀入下一行輸入,並從下一條而不是第一條命令對其處理
q結束或退出sed
r從檔案中讀取輸入行
!對所選行以外的行應用所有命令
s用乙個字串替換另外乙個字串
替換標誌:
g在行內進行全域性替換
p列印行
w將行寫入檔案
x交換暫存緩衝區和模式空間的內容
y將字元轉換成另外乙個字元
sed例子:
列印:p命令
sed 『/abc/p』 file
列印file中包含abc的行。預設情況sed把所有行都列印到螢幕,如果某行匹配到模式,則把該行另外再列印一遍
sed -n 『/abc/p』 file
和上面一樣,只是去掉了sed的預設行為,只會列印匹配的行
刪除:d命令
sed 『3,$d』 file
刪除從第3行到最後一行的內容。
sed 『$d』 file
刪除最後一行的內容
sed 『/abc/d』
刪除包含abc的行。
sed 『3d』 file
刪除第三行的內容
替換:s命令
sed 『s/abc/def/g』 file
把行內的所有abc替換成def,如果沒有g,則只替換行內的第乙個abc
sed -n 『s/abc/def/p』 file
只列印發生替換的那些行
sed 『s/abc/&def/』 file
在所有的abc後面新增def(&表示匹配的內容)
sed -n 『s/abc/def/gp』 file
把所有的abc替換成def,並列印發生替換的那些行
sed 『s#abc#def#g』 file
把所有的abc替換成def,跟在替換s後面的字元就是查詢串和
替換串之間的分割字元,本例中試#
指定行的範圍:逗號
sed -n 『/abc/,/def/p』 file
列印模式abc到def的行
sed -n 『5/,/def/p』 file
列印從第五行到包含def行之間的行。
sed /abd/,/def/s/aaa/bbb/g
修改從模式abc到模式def之間的行,把aaa替換成def
多重編輯-e
sed -e 『1,3d』 -e 『s/abc/def/g』 file
刪除1-3行,然後把其餘行的abc替換成def
讀檔案:r命令
sed 『/abc/r newfile』 file
在包含abc的行後讀入newfile的內容
寫檔案:w命令
sed 『/abc/w newfile』 file
在包含abc的行寫入newfile
追加:a命令
sed 『/abc/a\def』 file
在包含abc的行後新起一行,寫入def
插入:i命令
sed 『/abc/i\def』 file
在包含abc的行前新起一行,寫入def
修改:c命令
sed 『/abc/c\def』 file
在包含abc的行替換成def,舊文字被覆蓋
sed 『/abc/』 file
讀取包含abc的行的下一行,替換aaa為bbb
轉換:y命令
sed 『y/abc/abc』 file
將a替換成a,b替換成b,c替換成c(正規表示式元字元不起作用)
退出:q命令
sed 『/abc/』 file
在某行包含了abc,把aaa替換成bbb,然後退出sed。
暫存和取用:h命令(把模式行儲存到暫存緩衝區)和g(取出暫存緩衝區的行並覆蓋模式緩衝區)g(取出臨時緩衝區的行)命令
h和g是複製行為(覆蓋),h和g表示追加。
sed -e 『/abc/h』 -e 『$g』 file
包含abc的行通過h命令儲存到暫存緩衝區,在第二條命令匯中,sed讀到最後一行$時,g命令從暫存緩衝區中讀取一行,追加到模式緩衝區的後面。即所有包含abc的行的最後一行被複製到檔案末尾。
sed -e 『/abc/』
-e 『/def/』 file
包含abc的行會移到包含def的行上,並進行覆蓋。
暫存和互換:h和x命令
sed -e 『/abc/h』
-e 『/def/x』 file
包含abc的行會被換成def的行。
sed命令詳解
sed 是乙個精簡的 非互動式的編輯器。它能執行與編輯vi和emacs相同的編輯任務。sed編輯器不提供互動使用方式 只能在命令列輸入編輯命令 指定檔案 名,然後在螢幕上察看輸出。sed編輯器沒有破壞性。它不會修改檔案,除非用shell重定向來儲存輸出結果。預設情況下,所以的輸出都被列印到螢幕上。1...
sed命令詳解
sed 簡介 sed 意為流編輯器,源自英語 stream editor 的縮寫 是unix常見的命令列程式。sed 用來把文件或字串裡面的文字經過一系列編輯命令轉換為另一種格式輸出。sed 通常用來匹配乙個或多個正規表示式的文字進行處理。分號 可以用作分隔命令的指示符。常用的sed命令 模式 p ...
sed命令詳解
sed是stream editor的簡稱,也就是流編輯器。它一次處理一行內容,處理時,把當前處理的行儲存在臨時緩衝區中,稱為 模式空間 pattern space 接著用sed命令處理緩衝區中的內容,處理完成後,把緩衝區的內容送往螢幕。接著處理下一行,這樣不斷重複,直到檔案末尾。檔案內容並沒有 改變...