Shell中的sed命令

2021-10-02 22:20:27 字數 2292 閱讀 1787

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命令處理的...