====== 參考資料 ====== [[http://sed.sourceforge.net/sed1line_zh-CN.html|SED單行腳本快速參考]] ====== Stream Editing ====== sed [ -e script ] [ -f scriptfile ] { fileName }* ==== Commands ==== - //address// 必須要是行號或者正規表示式 - //addressRange// 可用逗號分隔 - 如果沒有指定範圍,則對所有行執行 ^ Command ^ ^ |address a\ \\ text|將 text 附加在 address 行後方| |addressRange c\ \\ text|將 Range 用 text 取代| |addressRange d|將 Range 刪除| |address i\ \\ text|將 text 插在 address 下一行| |address r name|將 file 檔案附加在 address 行後面| |addressRange s/expr/str/|將每行第一個出現的正規表示的字串 expr 換成 str| |addressRange s/expr/str/g|將所有正規表示的字串 expr 換成 str| ==== Example ==== 在每行前面增加一個空白 $ sed 's/^/ /' fileName 刪除每行前面空白 $ sed 's/^ *//' fileName 刪除所有包含字元 a 的行 $ sed '/a/d' fileName 只刪除 a 這個單字 $ sed '/\/d' fileName 插入文字 $ sed '/a/i\b' fileName // 若該行有字元 a,則在該行之前插入新的一行,內容為 b。 1i\ line1\ line2\ 取代文字 1,3c\ line1 一行 command 多個 sed,在每行開頭加上「<<」,結尾加上「>>」 # sed -e 's/^/<< /' -e 's/$/ >>/' fileNamee