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

相关推荐

  • 文件搜索之find的使用

    一.find介绍:   find是Linxu中一个十分常用的文件查找工具,其工作原理是通过遍历启起始路径下文件层级结构完成的,其特点是查找速度慢,能做到实时查找和精确查找。 二.使用方法: find  start_path search_conditions  action 1.statr_path:所要查找的文件的起始位置,默…

    Linux干货 2016-11-01
  • Week5 grep和find命令及正则表达式练习

    1、显示当前系统上root、fedora或user1用户的默认shell;   cat /etc/passwd  | grep -E "^\<root\>|^\<fedora\>|^\<\user1\>" |&nb…

    Linux干货 2017-02-14
  • class-7 积累应用

    1、当天课程内容笔记 2、当天练习 3、预习 4、取本机ip地址 [root@6 ~]#  ip addr|egrep -o '(\b([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\b\.)(\b([1-9]|[1-9][0-9]|1[0-…

    Linux干货 2016-08-08
  • 自动化运维之Cobbler

    自动化运维:         随着信息时代的持续发展,IT运维已经成为IT服务内涵中重要的组成部分。面对越来越复杂的业务,面对越来越多样化的用户需求,不断扩展的IT应用需要越来越合理的模式来保障IT服务能灵活便捷、安全稳定地持续保障,这种模式中的保障因素就是IT运维(其他因素是更…

    Linux干货 2016-04-21
  • Nginx浅谈(一)

    浅谈nginx(一) 此文主要介绍nginx的基础知识及其基本配置,一为巩固,二为记录 知识点: nginx的作用 nginx的基本配置框架 nginx一些常用模块介绍 1、什么是nginx     nginx是一款免费的,开源的,高性能的HTTP服务软件,它不仅能     够支…

    Linux干货 2017-01-15
  • n22-第一次作业-对Linux基础知识的回顾

    1、描述计算机的组成及其功能   根据冯诺依曼计算机体系结构模型,计算机由运算器、控制器、存储器、输入设备、输出设备五大部分组成。如上图:    运算器主要由算数逻辑单元ALU和通用寄存器组成,主要用于完成算术运算和逻辑运算。      控制器是整个计算机的控制中心,它的主要功能是周而复始…

    Linux干货 2016-08-15