sed的優點:sed速度快,在啟動vim的時間,sed已經完成了需要執行的操作
echo "this is a test" | sed 's/test/testing/'
sed 's/dog/tiger/' test1
sed '2s/dog/tiger/' test1 #指定替換第二行
sed '4s/dog/tiger/' test1 #指定替換第四行
sed '2,4s/dog/tiger/' test1 #指定替換第2到4行
sed '2,$s/dog/tiger/' test1 #指定替換第二行到最後
[root@localhost 13]# sed '2' test1
sed -e 's/dog/tiger/;s/cat/ribbit/' test1
第二種寫法:
[root@localhost 13]# sed -e '
> s/white/red/
> s/dog/tiger/
> s/cat/ribbit/' test1
sed -f file test1 #-f 命令檔案 要替換的檔案
sed 's/test/trial/' test2
加上g引數時替換所有出現的關鍵字:
sed 's/test/trial/g' test2
加具體的num引數,替換每句**現第n次的關鍵字:
sed 's/test/trial/2' test2
sed -n 's/test/trial/p' test3 #只顯示修改部分
sed -n 's/number/num/' test4 #使用-n而不使用p引數時,不會有顯示
sed -n '/number3/p' test4 #顯示匹配到的含有number3的行
sed -n '2,4p' test4 #顯示2到4行
sed 's/test/trial/w test' test3 #將修改的句子寫入test檔案
sed '1,2w test' test4 #將1到2行寫入test檔案
sed 'd' test4 #刪除全部
sed '2d' test4 #刪除第二行
sed '4d' test4 #刪除第四行
sed '2,4d' test4 #刪除第2到4行
sed '2,$d' test4 #刪除第二行到結束的行
echo 'test 2' | sed 'i\test 1' #i表示插入到前面
echo 'test 2' | sed 'a\test 1' #a表示追加到末尾
sed '3i\test 1' test4 #插入到第三行前面
sed '3a\test 1' test4 #追加到第三行後面
[root@localhost 13]# sed '1i \
> new line1.\
> new line2.\
> new line3.' test4
sed '$a\this is an inserted line.\nthis is another inserted line.' test4
sed '3c\new line3.' test4
sed '/number1/c\new line.' test4
sed '2,4c\new line.' test4
sed 'y/123/789/' test4
echo "this 1 is a test of 1 try." | sed 'y/123/789/'
sed '=' test4
sed '3r test5' test4 #將test5新增到test4中第三行後面
sed '/number2/r test5' test4
shell中的sed命令
sed命令 主要是對文字進行編輯,當需要對文字進行反覆操作,或者編寫指令碼時,會經常用到!sed命令的組成 和其他命令不太一樣的是多了個動作。一般都是命令 引數 正則變數,文字變數。在sed中可以在正則變數裡新增動作,而且一說到正則肯定離不開轉義字元,它的轉義字元也不太一樣。引數 引數功能 備註 e...
Shell指令碼sed命令
1 p命令 命令p用於顯示模式空間的內容。預設情況下,sed把輸入行列印在螢幕上,選項 n用於取消預設的列印操作。當選項 n和命令p同時出現時,sed可列印選定的內容。例子 plain view plain copy 1 sed my p datafile 預設情況下,sed把所有輸入行都列印在標準...
Shell 字元擷取命令 sed命令
shell 字元擷取命令 sed命令 sed是一種幾乎包括在所有unix平台 包括linux 的輕量級流編輯器。其主要用來將資料進行選取 替換 刪除 新增的命令。vim只能修改檔案,sed能修改檔案,還能從管道符接收命令。root hhh sed 選項 動作 檔名 選項 n 只把經過sed命令處理的...