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文件根目录

    / 表示为根目录/├── bin  存放用户使用的基本命令(可执行程序,二进制文件)  不能单独分区├── boot   跟内核有关的文件 grub  内核和BootLoader ├── cgroup   用来资源限制资源隔离 docker 容器化├── dev(device )设备文件&…

    2017-03-27
  • LAMP的编译安装

    一、编译安装amp: (1)系统环境:centos6,7 httpd依赖于apr和apr-util appache protable runtime (2)开发环境: Development Tools,Server Platform Development (3)各程序的版本: httpd:2.2,2.4 php:5.x mysql:5.1,5.5,5.6…

    Linux干货 2016-10-17
  • 计算机及Linux系统基础简介

    一、计算机的组成及其功能 计算机由运算器,控制器,存储器,输入装置和输出装置五大部件组成计算机,每一部件分别按要求执行特定的基本功能。 运算器或称算术逻辑单元(Arithmetical and Logical Unit) 运算器的主要功能是对数据进行各种运算。这些运算除了常规的加、减、乘、除等基本的算术运算之外,还包括能进行“逻辑判断”的逻辑处理能力,即“与…

    Linux干货 2017-07-02
  • 编译内核

    先把下载的内核解压展开归档 tar -xvf linux-4.12.tar.xz   把linux系统中的/boot/config-3.10.0-514.el7.x86_64 copy到归档文件中并命名为.config   cp config-3.10.0-514.el7.x86_64 /app/linux-4.12/.conf…

    2017-07-12
  • RPM总结(一)

    软件包基础软件包运行环境硬件、内核、应用程序的关系包管理器程序包管理器Linux不同系统上的包管理器RPM的优点rpm包命名方式一般源代码的命名rpm包的命名rpm包的分类与拆包包管理工具RPM包管理器:程序包管理器:获取程序包的途径:rpm包管理CentOS系统上使用rpm命令管理程序包:安装升级:降级降级实例more 软件包基础 包管理过程中,最常用的操…

    Linux干货 2016-08-24
  • 对防火墙的初步认识

      防火墙,就是用于实现Linux下访问控制的功能的,它分为硬件的或者软件的防火墙两种。无论是在哪个网络中,防火墙工作的地方一定是在网络的边缘。而我们的任务就是需要去定义到底防火墙如何工作,这就是防火墙的策略,规则,以达到让它对出入网络的IP、数据进行检测。    目前市面上比较常见的有3、4层的防火墙,叫网络层的防火墙,还有7…

    Linux干货 2017-06-15