-i 替換並儲存
's/pattern/replace_string/' 只替換第一處
's/pattern/replace_string/g' 替換所有
's/pattern/replace_string/ng' 從第n處開始匹配
# ex 直接替換文字
[clz@localhost shell_learn]$ sed -i 's/cecho.sh/************xx/' file_sum.md5
sed
# 移除空白行
sed 's/\b[0-9]\\b/number/g' file
匹配兩位數字 \b為邊界
第一條命令將digit 替換為 7。樣式中匹配到的子串是7.[clz@localhost shell_learn]$ echo this
is an example | sed 's/\w\+/[&]/g'
[this] [is] [an] [example]
\(pattern\)
用於匹配子串。模式被包括在使用斜線轉義過的()中。對於匹配到的第乙個子串, 其對應的標記是\1, 匹配到的第二個子串是\2, 往後依次類推。
sed表示式通常用單引號來引用。也可以用雙引號,通過對表示式求職進行擴充套件。# ex 1
[clz@localhost ~]$ echo this
is digit 7
in a number | sed 's/digit \([0-9]\)/\1/'
thisis7
in a number
# ex 2 將兩個匹配到的字串交換
[clz@localhost ~]$ echo seven eight | sed 's/\([a-z]\+\) \([a-z]\+\)/\2 \1/'
eight seven
text=hello
echo hello world | sed "s/$text/hello/"
hello world
Shell指令碼的學習 sed
sed是流編輯器,對文字進行批量化處理。sed option script file1 file2 sed option f scriptfile file1 file2 sed 處理的檔案既可以由標準輸入重定向得到,也可以當命令列引數傳入,命令列引數可以一次傳入多個檔案,sed會依次處理。sed的...
Shell指令碼學習之sed詳解
linux 1 目錄 sed編輯器逐行處理檔案 或輸入 並將結果傳送到螢幕。具體過程如下 首先sed把當前正在處理的行儲存在乙個臨時快取區中 也稱為模式空間 然後處理臨時緩衝區中的行,完成後把該行傳送到螢幕上。sed每處理完一行就將其從臨時緩衝區刪除,然後將下一行讀入,進行處理和顯示。處理完輸入檔案...
Shell指令碼補充 sed
var 10 a haha echo var 10 echo 10 echo ab 為空 echo b 輸出hahab a abcdcba echo 輸出abcdcba 完全匹配失敗 echo 輸出dcba abc被刪除了 即到第乙個被匹配的c echo a 輸出abcdcba 不會對源資料做修改a...