linux三剑客之sed

sed概念

  字符流过滤编辑和文本字符流转换工具

三剑客各自作用

  1、grep是过滤文本

  2、sed是修改文本

  3、awk是处理文本

格式

  sed [参数] ‘处理规则’ [ 操作对象]

参数

1 -e : 允许多项编辑
2 -n :  取消默认输出
3 -i :  就地编辑
4 -r :  支持拓展正则(sed中的正则表达式必须放在两个//中间)
5 -f :  指定sed匹配规则脚本文件

 定位

  1、数字定位法,指定行号

   注:当数字是1,3这种的时候就是第一行到第三行

  2、正则定位法,指定正则定位

   3、数字和正则定位法

   4、正则正则定位法

 sed的编辑模式

  1、d,删除

  2、p,打印

  3、a,在当前行后添加一行或多行

  4、c,在新文本修改(替换)当前行

  5、i,在当前行之前,插入文本(单独使用时)

  6、r,在文本中读内容

  7、w,将指定行写入文件

  8、y,将字符转换成另一个字符

  9、s,将字符串转换成另一个字符串(每一行只替换一次)

  10、g,全部执行(可以和s配合一起使用)

  11、i,忽略大小写(跟s模式一起使用时)

 

 

   修改ip

 

 案例

1、将nginx.conf中的注释行全部去掉

    [root@localhost ~]# sed '/^ *#/d' /etc/nginx/nginx.conf

2、将nginx.conf中每一行之前增加注释
    [root@localhost ~]# sed 's/.*/# &/g' /etc/nginx/nginx.conf

3、要求一键修改本机的ip,
    sed -i 's#.101#.102#g' /etc/sysconfig/network-scripts/ifcfg-eth[01]
    
4、将/etc/passwd中的root修改成ROOT
    sed -i 's#root#ROOT#g' /etc/passwd

 

 

 

posted @ 2021-12-21 17:00  那就凑个整吧  阅读(83)  评论(0编辑  收藏  举报