• Linux_三剑客_sed


    【概念】 

    sed是linux中提供的一个外部命令,是一个行(流)编辑器,非交互式的对文件内容进行增删改查的操作,
    
    使用者只能在命令行输入编辑命令,指定文件名,然后再屏幕上查看输出。和文本编辑器有本质的区别

    【区别】  

    文本编辑器:编辑对象是文件
    
    行编辑器  : 编辑对象是文件中的行(一般用于配置文件信息)
    
       日志文件信息(grep ,awk 分析)

    【执行原理】

    命令语法格式】

    sed  参数 '条件 动作 '  文件信息

    【参数】

    -n --- 取消默认输出
    -i --- 真正修改文件内容 -i.bak 修改文件时,会自动创建备份文件
    -e --- 扩展识别多个动作信息
    -r --- 识别扩展正则

    【指令(动作)】  

    p【print】 --- 将指定信息进行输出
    d【delete】--- 删除指定信息
    i【insert】--- 在指定信息行上面插入信息  【i.bak】
    a【append】--- 在指定信息行下面添加信息
    s【substitute】--- 替换/取代 
    g --- 全局替换
    c --- 将整行信息做替换

    【命令操作:】

    【sed查询操作: 过滤信息】

    1.按照文件行进行查询:
    --按照文件指定单行信息进行过滤:

    --按照文件指定多行信息进行过滤
    1) 过滤连续多行信息 1-3行信息

    2) 过滤不连续多行信息 1,3,7行信息

    2.按照文件字符信息过滤:

    按照单个字符信息过滤文件内容
    按照多个字符信息过滤文件内容
    按照字符内容信息进行连续过滤


    特殊情况01:

    特殊情况02:


    2) 按照字符内容信息进行不连续过滤

    【sed删除操作】 

    指定行信息进行删除


    -i --- 真正修改文件内容
    
    不加-i表示只是对模式空间里面数据进行处理,不会影响真实文件数据

    【删除执行原理】

    01. 打开person.txt文件
    02. 读取文件中内容信息, 并将内容放入到模式空间中
    03. 会根据模式空间里面读取到的内容, 生成一个临时文件person_tmp.txt
    04. 关闭person.txt文件
    05. 将临时文件指定内容进行删除处理
    06. 将临时文件重命名为person.txt

    删除文件的空行


    sed命令删除操作时,最好对源文件进行备份
    PS: -i参数使用时放在所有参数的最后面

    【sed添加操作】

    指定信息一行前面或者一行后面添加新的信息

    练习题:

    01. 文件末尾添加 一行新信息

    02. 文件末尾添加 两行新信息 


    03. 文件第三行后面添加  文件第五行前面插入 

    真正添加信息

     【sed修改操作:】

    借助()后项引用前项

     --指定行的末尾添加

    【企业案例,批量修改文件名称】

    【专业修改命令】






    【01. 利用sed命令取出IP地址】


    【02. 批量创建用户并设置随机密码】



    【获取随机字符串】

  • 相关阅读:
    centos7 计划任务 定时运行sh
    Nginx负载均衡配置 域名和IP 访问时从java request.getServerName()获取不同问题解决
    windows2012激活方式 2016激活方式 windows10激活方式
    CentOS7 安装Chrome
    使用 go-cqhttp 在龙芯和其他平台搭建qq机器人
    KDE桌面无故特效消失和图标黑底
    SDUST 小学期飞机大战简述
    SDUST 小学期飞机大战简述
    宝塔中极速安装的PHP如何使用AMQP连接RabbitMQ
    Electron登录注册桌面应用源码+安装文件的打包方法
  • 原文地址:https://www.cnblogs.com/zhanghongqi/p/11590412.html
Copyright © 2020-2023  润新知