美文网首页
Day18操作系统三剑客命令-sed

Day18操作系统三剑客命令-sed

作者: a幕城 | 来源:发表于2019-11-05 15:10 被阅读0次
三剑客sed命令概念介绍 
    作用说明: ` stream editor for filtering and transforming text`
               文件处理编辑命令
    原理过程:  按照文件每行信息进行处理, 找出符合条件信息, 执行相应操作
    语法结构: ` sed [参数] '条件 指令操作'  文件信息`

三剑客sed命令使用方法
   ` 准备环境:
cat >person.txt<<EOF
101,oldboy,CEO
102,zhaoyao,CTO
103,Alex,COO
104,yy,CFO
105,feixue,CIO
EOF
  1) 如何进行查询
       a 按照行号查询信息
         查找单行信息:  sed -n '3p'   文件信息 
         查找多行信息:  sed -n '2,4p' 文件信息   连续多行   sed -n '2p;4p' person.txt  不连续多行
                        sed -n '2,$p' 文件信息
       
       b 按照字符查询信息
         查找单行信息:  sed -n '/CTO/p' person.txt 
         查看多行信息:  sed -n '/CTO/,/CIO/p' person.txt                              sed -n '/CTO/p;/CIO/p' person.txt
        [root@linux67 oldboy]# cat person.txt 
        101,oldboy,CEO
        102,zhaoyao,CTO
        103,Alex,COO
        104,yy,CFO
        105,feixue,CIO
        102,zhaoyao,CTO
        103,Alex,COO
        104,yy,CFO
        [root@linux67 oldboy]# sed -n '/CTO/,/CIO/p' person.txt 
         102,zhaoyao,CTO
         103,Alex,COO
         104,yy,CFO
         105,feixue,CIO
         102,zhaoyao,CTO
         103,Alex,COO
         104,yy,CFO
         2)如何进行删除
         ed -i '6d' person.txt  
       sed -i.bak '/COO/d' person.txt       --- 将源文件内容先进行备份, 在进行操作
       sed -ri '/CFO|CTO/d' person.txt
       
       坑: 删除一个文件有#号的行
           1) 查询需要删除内容
              sed -n '/^#/p' config
           2) 删除文件信息
              sed -i '/^#/p' config
       PS: 
       1. -i参数后面不能再跟上其他参数
       2. -i参数和-n参数尽量不要结合使用
       -i : 真正修改文件内容
3) 如何进行添加
       3a: 在第三行的下面添加相应信息
       3i: 在第三行的上面添加相应信息
    
       [root@linux67 oldboy]# cat person.txt
       101,oldboy,CEO
       105,feixue,CIO
       [root@linux67 oldboy]# sed -i '1a102,zhaoyao,CTO' person.txt
       [root@linux67 oldboy]# cat person.txt
       101,oldboy,CEO
       102,zhaoyao,CTO
       105,feixue,CIO
       
    4) 如何进行修改
       sed 参数 's#需要替换信息#替换成什么信息#g'  文件信息 
       
       sed  '$s#CEO#CIO#g' person.txt                 --- 指定条件进行替换
       sed -i "s#$Init_IP#$Change_IP#g" $File_info    --- 指定变量信息做替换需要注意双引号使用`

相关文章

  • 2019-06-19

    一. 三剑客sed命令 sed - stream editor for filtering and transfo...

  • Linux云计算学习笔记day17

    Linux三剑客-sed sed命令执行过程https://www.processon.com/view/link...

  • D18-操作系统sed命令

    一、系统三剑客命令 sed 1.作用 修改文件内容 对文件行进行操作sed - stream editor ...

  • Day18操作系统三剑客命令-sed

  • 2019-07-25

    操作系统命令三剑客-awk 一: 三剑客命令awk概述gawk : pattern scanning and pr...

  • Shell编程、part5

    本节内容 1. 三剑客简介 2. sed命令详解 3. awk命令详解 文本处理三剑客 在 Shell 下使用这些...

  • Linux命令总结

    linux三剑客awk、grep、sed应用环境即常用命令 linux常用命令链接 https://man.lin...

  • sed命令的使用

    sed 命令是Linux三剑客之一,它主要用来替换文件内容的 文件test.txt 内容 输入命令 从结果中我们知...

  • Linux系统中awk和sed有什么区别?

    Linux文本三剑客,即awk、grep、sed,这三个命令是Linux中常用的文本处理命令,主要作用是对文本内容...

  • shell脚本1了解

    1:了解liunx命令2:若干个命令写到一个文件3:离不开逻辑判断和循环遍历4:正则三剑客grep sed awk...

网友评论

      本文标题:Day18操作系统三剑客命令-sed

      本文链接:https://www.haomeiwen.com/subject/cjzsbctx.html