sed命令 主要是對文字進行編輯,當需要對文字進行反覆操作,或者編寫指令碼時,會經常用到!sed命令的組成 和其他命令不太一樣的是多了個動作。一般都是命令 -引數 正則變數,文字變數。在sed中可以在正則變數裡新增動作,而且一說到正則肯定離不開轉義字元,它的轉義字元也不太一樣。
引數
引數功能
備註-e
以指定的script來處理輸入的文字檔案。
expression,就類似於執行匹配的正則
-n只列印符合條件的文字
only(n) grep的 是o
-r正規表示式
regularexpression(r)
-i原地修改檔案
類似於vi中 i
-f指定正則檔案來進行進一步的操作
-file和e是有區別的
動作 (常用部分)
waring:所有的動作都必須加上單引號,否則無效引數
功能備註a追加
i增加increasep列印
printd刪除
deletec替換
s替換(通常跟正規表示式一起連用)
r從別的檔案中讀
read,類似於<
w將結果寫入(儲存)到檔案中
write,型別與》重定向
&儲存查詢串以便在替換串中引用
定位符(表引用,引用匹配的文字)
例子文字準備:more /etc/hosts |head -10 >a.txt
1.[root@localhost ~]# sed 『』 a.txt#對檔案什麼都不做
[root@localhost ~]# sed -n 『p』 a.txt#列印每一行,並取消預設輸出
[root@localhost ~]# sed -n 『1p』 a.txt#列印第1行
[root@localhost ~]# sed -n 『2p』 a.txt#列印第2行
[root@localhost ~]# sed -n 『1,5p』 a.txt#列印1到5行
[root@localhost ~]# sed -n 『$p』 a.txt#列印最後1行
2.[root@localhost ~]# sed 『$a99999』 a.txt#檔案最後一行下面增加內容
[root@localhost ~]# sed 『a99999』 a.txt#檔案每行下面增加內容
[root@localhost ~]# sed 『5a99999』 a.txt#檔案第5行下面增加內容
[root@localhost ~]# sed 『$i99999』 a.txt#檔案最後一行上一行增加內容
[root@localhost ~]# sed 『i99999』 a.txt#檔案每行上一行增加內容
[root@localhost ~]# sed 『6i99999』 a.txt#檔案第6行上一行增加內容
[root@localhost ~]# sed 『/^bin/ihello』 a.txt#以bin開頭行的上一行插入內容
Shell中的sed命令
sed的優點 sed速度快,在啟動vim的時間,sed已經完成了需要執行的操作 echo this is a test sed s test testing sed s dog tiger test1sed 2s dog tiger test1 指定替換第二行 sed 4s dog tiger te...
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命令處理的...