sed ,查找
sed -n '/root/'p passwd #列出passwd中有root的行
sed -nr '/o+t/'p passwd #sed -r = grep -E 都是進行脫意
sed -nr '/0{2}/'p passwd #匹配兩次o的
sed -nr '/root|bus/'p passwd #匹配root 或者bus的
sed -n '2'p passwd # 查找指定的行
sed -n '2,5'p passwd # 查找2,5行
sed -n '2,$'p passwd # 查找2到末行,$代表末行
sed -n '1,$'p passwd #查找全部
sed -e '1'p -e '/111/'p -n test.txt #同一個表達式,執行多個操作命令,用-e ,注意的是,如果同時有兩個命令匹配一樣的數據,則會顯示兩條一模一樣的。
sed -n '/bus/'Ip # I表示不區分大小寫
sed '1,10'd passwd #刪掉某哥文件的前十行,僅僅只是在屏幕當初刪除前十行,不會真正的刪除
sed -i '1,10'd passwd #是真的會刪除前十行
sed -i '/root/'d passwd #刪掉root 相關的行
sed '1,10s/root/toor/g' passwd #將1到10行的root全部替換為toor,頁面會全部顯示出來
sed '1,10s/ro+t/r/g' passwd #jiang 1到10行,所有的ro全部替換為r。
sed 's//root/123/g' #這種情況時,會報錯,因為系統不識別,你是怎么劃分的,應該寫成:
sed 's\/root\/123/g' 要么用反斜杠,要么用@或#號
sed -r 's/([^:]+):(.):([^:]+)/\3:\2:\1' #第一段和最一段做替換
([^:]+) : #:加號以前非:一個或多個
. : #貪婪匹配,一直匹配到最后一個冒號
\1\2\3 代表三個括號,既然調換,則需要寫出 \3:\2:\1
sed 's/[a-zA-Z]//g' #將字母全部替換為空,就是刪除字母
sed 's/(.*)/aaa: &/ ' #&表示前面的括號。 在行首加aaa
轉載于:https://blog.51cto.com/13451715/2301530