sed [-hnV][-e<script>][-f<script文件>][文本文件]
動作說明
a :新增形纺, a 的后面可以接字串哗蜈,而這些字串會在新的一行出現(xiàn)(目前的下一行)~
c :取代, c 的后面可以接字串,這些字串可以取代 n1,n2 之間的行泻云!
d :刪除曙砂,因為是刪除啊头谜,所以 d 后面通常不接任何咚咚;
i :插入鸠澈, i 的后面可以接字串柱告,而這些字串會在新的一行出現(xiàn)(目前的上一行);
p :打印笑陈,亦即將某個選擇的數(shù)據(jù)印出际度。通常 p 會與參數(shù) sed -n 一起運行~
s :取代,可以直接進(jìn)行取代的工作哩涵妥!通常這個 s 的動作可以搭配正規(guī)表示法乖菱!例如 1,20s/old/new/g 就是啦!
參數(shù)
-e 可以執(zhí)行多個命令蓬网,每個-e執(zhí)行一個命令(sed -e '2d' -e '2a xxx' test)
-f 執(zhí)行命令文件 (sed -f aa test)
-n 取消默認(rèn)的控制臺輸出窒所,如果執(zhí)行p的話可以防止重復(fù)打印
-i 將修改內(nèi)容輸出到原文件,即直接修改原文件
舉例
新增(下一行插入)
sed '2a testContent' test.txt 在第2行后面插入一行內(nèi)容為testContent
sed '1,3a testContent' test.txt 在第1-3行的每行后面都插入一行
插入(前一行插入)
sed '2i testContent' test1 在第2行前面插入一行內(nèi)容為testContent
sed '1,3i testContent' test1 在第1-3行的每行前面都插入一行
替換整行
sed '2c testContent' test1 將第2行替換為testContent
替換部分字符串
sed 's/old/new/' test1 將所有行的第一個old替換成new
sed 's/old/new/gi' test1 將所有行的所有old替換成new并忽略大小寫
刪除
sed '2d' test1 將第2行刪除
打印
sed -n '2p' test1 打印第2行
sed -n '/linux/p' test1 打印匹配到linux字符串的行
sed -n '/linux/!p' test1 打印所有未匹配到linux的行
執(zhí)行多個命令
sed -e 's/old/new/g' -e '2d'