-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, (.)表示一整行