9.4/9.5 sed

9.4/9.5 sed

-n 只顯示匹配的行bash

-r 可不脫意.net

打印字符串

sed -n '5'p test.txt 打印第5行get

sed -n '1,5'p test.txt 打印1-5行test

sed -n '1,$'p test.txt 打印1-最後行sed

sed -n '/root/'p test.txt 打印含有root的行file

sed -n '/^1/'p test.txt 打印1開頭的行文件

sed -n 'in$'p test.txt 打印in結尾的行字符

sed -n '/r..o/'p test.txt 打印r..o 中間任意2個字符的行數字

sed -n 'oo*'p test.txt 打印oo匹配0次或屢次,後面跟p的行

sed -e '1'p -e '/111/'p -n test.txt 多條件匹配打印(或者關係, 或重合屢次打印,符合條件1打印1次,符合條件2又打印1次)

sed -nr ‘/o{2}/’p filename 打印符合 oo出現2次的內容 r 不脫意

sed -n ‘/bus/’Ip test I不區分大小寫,大寫的I

刪除

-i 真正更改文件的內容

sed '1'd test.txt 刪除第一行

sed '1,3'd test.txt 刪除1-3行

sed '/oot/'d test.txt 刪除含有oot的行

sed ‘/user2/’d test.txt 刪除 user2 相關的行

sed -i ‘1,10’d test.txt 刪除1-10行(i直接刪)

替換

sed '1,2s/ot/to/g' test.txt 把1-2行 ot替換成to g表明全局替換

sed '1,10s/root/toor/g’ test.text 替換1-10行符合root, 替換成toor

sed -r '1,10s/ro+'/r/g 把ro+替換成r , 用+需用-r

sed 's#ot#to#g' test.txt 用#代替/

sed 's/[0-9]//g' test.txt 把數字刪除(替換成空)

sed 's/[a-zA-Z]//g' test.txt 把字母刪除(替換成空)

sed -r 's/(rot)(.*)(bash)/\3\2\1/' test.txt

sed 's/^.*$/123&/' test.txt 把每行前面加123, &表示前面匹配到的內容

sed -i 's/ot/to/g' test.txt

head passwd | sed -r ‘s/([^:]+):(.*):([^:]+)/\3:\2:\1/’ 把第1行和最後1行互換

sed ‘s//root/123/g’ passwd | head 替換內容中含有/符號的替換, 需用\脫意

sed ‘s//sbin/nologin/123/g’ passwd | head 替換/sbin/nologin爲123(替換內容中含有/符號的替換)

sed ‘s@/sbin/nologin@123 @g’ passwd | head 替換/sbin/nologin爲123(替換內容中含有/符號的替換的另一種寫法, 換個分隔符)

head passwd | sed -r ‘s/(.)/aaa:&/’ 在全部行前面加一個固定字符串, &等於\1, (.)表示一整行

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息