您的位置:首页 > 博客中心 > 网络系统 >

Linux学习42 必备技能-文本处理神器sed命令应用与实战

时间:2022-04-03 15:54

一、sed命令

  1、文本处理三剑客

    grep,egrep,fgrep:文本过滤器

    sed:Stream EDitor,流编辑器,行。

    awk:文本格式化工具,报告生成器

  2、sed处理文本时会每次从文本中读出来一行然后将这一行放到sed自己的工作车间内进行加工,他不会动源文件只是把这个文件每一行复制出来后放到自己专用的工作车间,这个工作车间叫做pattern space(模式空间),也就是自己的内存空间。在自己的车间处理完成后会输出到标准输出中。

    技术图片

 

   3、sed命令

    a、格式

      sed [OPTION]... ‘script‘ [input-file]...

      script:地址定界+编辑命令

    b、常用选项

      -n:不输出模式空间中的内容至屏幕

      -e script,--expression=script:多点编辑;

      -f /PATH/TO/SED_SCRIPT_FILE :每行一个编辑命令

      -r,--regexp-extended:支持使用扩展正则表达式

      -i[SUFFIX], --in-place[=SUFFIX]:直接编辑原文件

    c、地址定界

      (1)、空地址:对全文进行处理

      (2)、单地址

        #:指定行

        /pattern/:被此模式所匹配到的每一行

      (3)、地址范围

        #,#:从第几行到第几行

        #,+#:从第几行开始,增加到第几行

        #,/pat1/:从所指定的行开始到匹配的某个模式行结束

        /pat1/,/pat2/:从匹配的某个模式行开始,然后匹配的某个模式行结束

      (4)、步进:~

        1~2:所有奇数行,即从第一行开始,步长为2

        2~2:所有偶数行,即从第二行开始,步长为2

  4、sed编辑命令

    a、d:删除

[root@localhost ~]# cat -n /etc/fstab |sed ‘1,8d‘
     9    /dev/mapper/centos-root /                       xfs     defaults        0 0
    10    UUID=7b808363-4f9d-4f63-a543-28928b32c184 /boot                   xfs     defaults        0 0
    11    /dev/mapper/centos-swap swap                    swap    defaults        0 0
[root@localhost ~]# sed ‘/^UUID/d‘ /etc/fstab 

#
# /etc/fstab
# Created by anaconda on Wed Oct 24 05:18:55 2018
#
# Accessible filesystems, by reference, are maintained under ‘/dev/disk‘
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /                       xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0

aaaaa

0:25:34

 

本类排行

今日推荐

热门手游