本文共 1003 字,大约阅读时间需要 3 分钟。
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:\1sed 's/[a-zA-Z]//g' #将字母全部替换为空,就是删除字母
sed 's/(.*)/aaa: &/ ' #&表示前面的括号。 在行首加aaa转载于:https://blog.51cto.com/13451715/2301530