sed工具

sed是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern
space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有
改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。

sed -n:不输出模式空间内容到屏幕,即不自动打印

sed工具

sed-e: 多点编辑,对每行处理时,可以有多个Script

sed工具

sed-f: 把Script写到文件当中,在执行sed时-f 指定文件路径,如果是多个Script,换行写

sed工具

sed -r: 支持扩展的正则表达式

sed工具

sed -i: 直接将处理的结果写入文件,源文件会被更改 建议在将处理的结果写入文件之前备份一份

sed工具


地址定界:
(1) 不给地址:对全文进行处理
    sed -n ‘p’ 文件

sed工具

(2) 单地址:
    #: 指定的行
    sed -n ‘2p’ 文件

sed工具

    /pattern/:被此处模式所能够匹配到的每一行
    sed -n ‘/^1/p’文件

sed工具

(3) 地址范围:
    #,#

sed -n ‘1,3p’

sed工具
    #,+#
    sed -n ‘2,+1p’

sed工具

    /pat1/,/pat2/
    sed -n ‘/redhat/,/linux/p’

sed工具

    #,/pat1/
    sed -n ‘2,/linux/p‘

            同上

(4) ~:步进
    sed -n ‘1~2p’  只打印奇数行

    sed -n ‘2~2p’  只打印偶数行

sed工具

编辑命令

d: 删除模式空间匹配的行,并立即启用下一轮循环
    sed ‘2d’ 文件

sed工具

p:打印当前模式空间内容,追加到默认输出之后
    sed ‘2p’ 文件

sed工具

a [\]text:在指定行后面追加文本,支持使用\n实现多行追加

sed ‘2a\123\n456\n789’ 文件

sed工具

i [\]text:在行前面插入文本
    sed ‘2i\123\n456\n789’ 文件

sed工具

c [\]text:替换行为单行或多行文本
    sed ‘2c\123\n456\n789’ 文件

sed工具

w /path/somefile: 保存模式匹配的行至指定文件
    sed -n ‘3w /root/3.file’ 文件

sed工具

r /path/somefile:读取指定文件的文本至模式空间中匹配到的行后
    sed ‘3r /root/mage.txt’ 文件

sed工具

=: 为模式空间中的行打印行号
    sed ‘=’ 文件

sed工具

!:模式空间中匹配行取反处理
    sed -n ‘2!p’ 文件

sed工具
s///:查找替换,支持使用其它分隔符,s@@@,s###替换标记:

sed工具

g: 行内全局替换

    sed ‘s/dog/cat/g’ 文件

sed工具

原创文章,作者:李先生,如若转载,请注明出处:http://www.178linux.com/85389

(0)
上一篇 2017-08-26 21:03
下一篇 2017-08-26 21:54

相关推荐

  • 推倒一个二十来岁青壮年第一步

    首先:找到他家在哪里,了解他的生长环境 然后:调查他的信息,慢慢了解他,学会和他交流,学会控制他

    Linux干货 2016-09-21
  • 学习宣言

    我是喻成,我参加了马帮第22期的linux运维网络班,于2016年8月开始跟随马哥学习linux, 我的学习宣言是:要享受学习的每一刻,我思故我在。

    Linux干货 2016-08-15
  • N25_第四周博客作业

    N25_第四周博客作业   1、复制/etc/ske1目录为/home/tuser1,要求/home/tuser1及其内部文件的属组合其他用户均没有任何访问权限。     2、编辑/etc/group文件,添加组hadoop.。             &nb…

    Linux干货 2016-12-24
  • 初识

    CPU:运算器、控制器、寄存器、缓存 分区不能直接被访问,需要接口 磁盘0 第一分区  挂载mount      C 磁盘0 第一分区  挂载mount      C:\var 如果一个目录没有被分区单独挂载,那么其数据存储在父目录所对应的…

    2017-07-11
  • Linux初识

    Linux 初识 计算机包含 CPU :运算器 、控制器、寄存器、缓存(加速) 存储器:内存,RAM(Random Access Memory) Input:下指令,提供数据 Output:输出数据加工的结果。 冯诺依曼体系 纸带打孔 磁带机 批处理 键盘、显示器 多任务Multi task 虚拟机软件 VMware workstation 12 PRO O…

    2017-07-13
  • iptables

    iptables简介   iptables 是与最新的 3.5 版本 Linux 内核集成的 IP 信息包过滤系统。如果 Linux 系统连接到因特网或 LAN、服务器或连接 LAN 和因特网的代理服务器, 则该系统有利于在 Linux 系统上更好地控制 IP 信息包过滤和防火墙配置。 iptables基础   规则(rules)其实就是网络管理员预定义的条…

    Linux干货 2017-02-16