IT培訓(xùn)網(wǎng)
IT在線學(xué)習(xí)
sed 是一個很強大的文本編輯器。 可以對來自文本, 以及標(biāo)準(zhǔn)輸入的文本進行編輯,sed會從文件或者標(biāo)準(zhǔn)輸入中讀取一行,將其復(fù)制到緩沖區(qū),對文本編輯完成之后,讀取下一行直到所有的文本行都編輯完畢。但是sed選項有特別的多,并且有特別多的處理方式,理解起來比較困哪,所以接下來我們直接通過一些實際操作來理解sed命令
命令格式格式:sed [option] 'command' 文本文件
選項:
-i:表示inplace-edit,就地修改文件。
-h:顯示幫助信息
命令:
動作a :新增,a的后面可以接字串,這些字串會在新的一行出現(xiàn)(目前的下一行)。動作d :刪除,d后通常不接任何內(nèi)容。
動作s :替換,默認(rèn)替換每行中出現(xiàn)的第一處內(nèi)容。
案例1 sed -i '2a\ujiuye' /tmp/file.txt
#在這個文件第二行直接寫入ujiuye,不用打開文件編輯 -i 能夠直接修改文件
案例2 sed -i '1i\hello-World' /tmp/file.txt
#在第一行插入helloWo 后面的i表示首行,如果不寫1,則表示在所有行前面添加
案例3 sed 'i1\test' /tmp/file.txt
#數(shù)字和后面的i位置不能改變,在每一行前面插入相應(yīng)的內(nèi)容,\t識別成了tab鍵,形成了空格
案例4 sed '$a\hello-world' /tmp/file.txt
#在最后一行的下一行插入內(nèi)容
案例5 sed 's/舊串/新串/' /tmp/file.txt
#將文件中的就字符串替換為新字符串,默認(rèn)替換第一個
案例6 sed 's/舊串/新串/g' /tmp/file.txt
#將文件中的就字符串全部替換為新字符串,后面的g是global的意思 ,s前面也可以加具體的數(shù)據(jù),表示具體的行
案例7 sed 'nd' /tmp/file.txt
#刪除文件中的內(nèi)容,n表示數(shù)字,可寫可不寫,表示刪除第幾行
案例8 sed -n '3p' /tmp/file.txt
#p表示打印, 打印第三行內(nèi)容 前面的選項n表示特殊處理某一行
案例9 sed -n '100,200p' /tmp/file.txt
#打印這個文件的100行到200行
案例10 sed '/My/,/You/d' /tmp/file.txt
刪除包含"My"的行到包含"You"的行之間的行
案例11 sed '/My/,10d' /tmp/file.txt
#刪除包含"My"的行到第十行的內(nèi)容
案例12 sed '/my/d' datafile
#刪除包含my的行,其余的都被顯示
案例13 sed -i 's/ujiuye/helloWorld&/' /tmp/file.txt
#在所有ujiuye前面插入helloworld
案例14 sed -i 's/ujiuye/&helloWorld/' /tmp/file.txt
#在所有ujiuye后面插入helloWorld
案例15 sed –i ‘s/^/ HEAD&/’ /tmp/file.txt
#在每行的頭添加字符,比如“HEAD”
案例16 sed -I ‘s/$/&tail/’ /tmp/file.txt
#在每行的尾部添加字符,比如“tail”
案例17 sed -i ‘/^$/d;s/111/aaa&/;s/111/&bb’ /tmp/file.txt
#刪除所有空格并在指定位置插入相關(guān)內(nèi)容 “^” 代表行首 “$” 代表行尾
案例18 sed -n '1,20s/My$/You/gp' datafile
#取消默認(rèn)輸出,處理1到20行里匹配以My結(jié)尾的行,把行內(nèi)所有的My替換為You,并打印到屏幕上。
#編輯多個文件
案例17 sed -i 's/ujiuye/&helloWorld/' *.txt
在所有的*.txt文檔的ujiuye后面插入helloWorld
更多內(nèi)容
>>本文地址:http://www.yceu.cn/zhuanye/2020/49133.html
聲明:本站稿件版權(quán)均屬中公教育優(yōu)就業(yè)所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
1 您的年齡
2 您的學(xué)歷
3 您更想做哪個方向的工作?