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

相关推荐

  • bash小脚本

    1、编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小。 [root@centos6 scripts]# cat systeminfo.sh #!/bin/bash HostName=`uname -n` Ipv…

    Linux干货 2016-08-15
  • Linux 文 本 处 理 工 具

    Linux 文 本 处 理 工 具 一.学习大纲: ◎各种文本工具来查看、分析、统计文本文件 文件内容查看工具:cat, tac,rev,more,less 文件截取:head和tail 按列抽取:cut,paste 分析文本的工具:wc , sort , uniq,diff和patch 命令使用练习题 ◎文本过滤与处理工具: grep与正则表达式…

    Linux干货 2016-08-05
  • Linux基础知识(一)

     本文的主要内容是:  1.计算机基本组成及其功能  2.linux的发行版,以及他们之间的联系和区别  3.Linux的哲学思想  4.Linux的上的命令的使用格式  5.基础命令 ifconfig,echo,tty,startx,export,pwd,history,shutdown,powe…

    Linux干货 2016-09-17
  • Linux基于OpenSSL实现私有CA构建

    前言 随着互联网的迅猛发展,网络通信已经成为传递信息的主要途径。而通信时的数据传输大部分却是明文传输的,在网络这个不安全的环境下,如果没有一套数据加密机制,就会导致敏感信息和重要数据泄露,引起不可估量的损失。而OpenSSL正好弥补了这一缺憾,那什么是OpenSSL呢?OpenSSL是一套强大的具有加密功能的组件,它包含libcrypto(公共加密库)、li…

    Linux干货 2015-04-13
  • 自制一个小型Linux(附带网络功能)

      我们这次讲述一下Linux启动的启动流程以及制作一个附带网络功能的mini linux 一、叙述 二、为什么要制作这么一个小型的系统 三、怎么制作 1、制作步骤 2、将虚拟机添加网络功能 一、叙述   在制作一个小型的Linux之前,首先你得明白Linux系统的启动过程,我们用一张图来进行说明  二、为什…

    Linux干货 2016-12-21
  • httpd2.2基础安装

    编译安装前,首先要确认开发包组已经装上。 开发包组: Developments tools server platform development(centos 7) 并且将apr 与 apr-unil 装上。这是httpd 可移植运行所必须用到的组件.这里举例说明的是httpd2.2版本。 若是安装httpd2.4以上版本的话,还要安装pcre库。pcre…

    2017-04-24