Linux鳥哥視頻學習筆記23-24

正則表達式3
sed

cat -n test | sed '/good/ a this is append by good!'
cat -n test | sed '/good/ i this line is insert by bood'


sed -n '2,/is/'p test 顯示出匹配到的內容
sed -n '/good/=' test 打印出匹配到good的行號


如果需要對同一文件或同一行進行多次修改,可以有三種方法


實操
第一種
sed -n -e '/glad/=' -e '/glad/p' test 同時打印出匹配到的glad行號和內容
第二種
sed '/glad/=;/glad/p' test  效果同上
第三種
sed -n '
>/glad/=
>/glad/p' test
效果同上

替換操作
sed -e 's/is/IS/' -e 's/am/WAS/' test 同時將所有的is替換爲大寫is,將am替換爲WAS
sed 's/is/IS/g;s/am/WAS/' test 效果同上
sed '
>s/is/IS/g
>s/am/WAS/' test

創建sed腳本


實操
tmp目錄下新建一個tst.sed文件
vi tst.sed
#!/bin/sed -f 
/good/ a\
this line is append by good

保存退出
然後給tst.sed 賦予可執行權限
chmod u+x tst.sed 
./tst.sed test 執行腳本對test文件操作,返回正確結果

腳本插入操作
vi tst.sed 
將之前內容註釋掉
寫入
/sbin/ i this line is insert by  sbin
保存退出
./tst.sed test 執行插入操作,返回正確結果
或執行
sed -f tst.sed test 效果和./tst.sed test 一樣

將之前tst.sed中註釋的內容解除註釋仍可以執行腳本

替換問題


實操
sed 's/is/IS/gw test' test 這裏w參數的作用是將團替換的結果輸出到test文件中,改變了test文件



圖中列舉了所有的sed相關參數功能,其它未用到的參數可自行測試和練習


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章