Linux sed命令 (stream editor)

   2017-02-05 0
核心提示:SED (stream editor)是一项Linux指令,功能同awk类似,差别在于,sed简单,对列处理的功能要差一些,awk的功能复杂,对列处理的功能比较强大。sed选项部分-i:直接修改读取的档案内容,而不仅仅是输出-n:取消默认输出,只打印处理的内容-f:直接将sed的动作写在

SED (stream editor)是一项Linux指令,功能同awk类似,差别在于,sed简单,对列处理的功能要差一些,awk的功能复杂,对列处理的功能比较强大。

sed 选项部分

-i: 直接修改读取的档案内容,而不仅仅是输出

-n: 取消默认输出,只打印处理的内容

-f: 直接将 sed 的动作写在一个档案内, -f filename 则可以执行 filename 内的 sed 动作

-e: 直接在指令列模式上进行 sed 的动作编辑

-r: sed 的动作支援的是延伸型正规表示法的语法

sed 命令部分

a: 新增 ‘1a test001’ 第一行后增加 ‘1,3a test001’ 第一行到第三行后增加

c: 取代 ‘1c test001’ 第一行取代为 test001 ‘1,3c test001’ 第一行到第三行取代为 test001

/d: 删除 ‘/test001/d’ 删除 test001

/p: 打印 ‘/test001/p’ 一般与 sed -n ‘/test001/p’ 一起使用

s/: 修改 ‘s/test001/test002/g’ test.txt ->’s/ 要替换的内容 / 新的内容 /g’

sed 例子:

显示行:

# sed -n ‘1p’ test.txt    // 只显示第一行

# sed -n ‘$p’ test.txt    // 只显示最后一行

# sed -n ‘1,2p’ test.txt  // 显示第一行到第二行

# sed -n ‘2,$’ test.txt  // 显示第二行到最后一行

删除行:

# sed ‘1d’ test.txt      // 只删除第一行

# sed ‘$d’ test.txt      // 只删除最后一行

# sed ‘1,2d’ test.txt    // 删除第一行到第二行

# sed ‘2,$’ test.txt    // 删除第二行到最后一行

# sed '/test003/d' test.txt //删除test003所在行

模糊查询:

# sed -n ‘/test001/p’ test.txt  // 查询 test001 关键字所在的所有行

增加行:

# sed -i ‘1a test002’ test.txt          // 第一行后增加 test002

# sed -i ‘1,3a test002 test.txt         // 第一行到第三行后面添加 test002

# sed -i ‘1a test003 \n test004’ test.txt  // 第一行后面添加多行

# sed -i ‘1,$a test0010’ test.txt       // 第一行到最后一行添加 test0010

替代行:

#sed -i ‘1c test002’ test.txt          // 第一行替代为 test002

#sed -i ‘1,3c test002’ test.txt        // 第一到第三行替代为 test002

#sed -i ‘1,$c test002’ test.txt        // 第一行到最后一行替代为 test002

修改内容:

#sed -i ‘s/test001/test002/g’ test.txt   // test002 修改为 test001

在sed命令中引入shell变量 http://www.linuxidc.com/Linux/2014-03/97896.htm

Linux下Shell编程——sed命令基本用法 http://www.linuxidc.com/Linux/2013-06/85526.htm

Linux常用命令:sed http://www.linuxidc.com/Linux/2016-10/136197.htm

Linux sed 高级用法实例 http://www.linuxidc.com/Linux/2016-10/136018.htm

sed命令详解与示例 http://www.linuxidc.com/Linux/2014-11/109325.htm

Linux正则表达式sed 详述 http://www.linuxidc.com/Linux/2015-04/116309.htm

Linux文本处理工具之sed http://www.linuxidc.com/Linux/2015-01/111436.htm

本文永久更新链接地址 http://www.linuxidc.com/Linux/2017-02/140116.htm

 
标签: Sed
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • 用MobaXterm_Personal_12.0远程连接ubuntu虚拟机,并解决报错connection refused
    用MobaXterm_Personal_12.0远程连接ubuntu虚拟
    步骤一,获取虚拟机的IP地址。我这里用的是linux虚拟机,开机前将网络类型设置成“桥接网卡”。然后开启虚拟机。打开终端,输入如下命令,获得ip 192.168.23.149:ifconfig -a步骤二:打开MobaXterm工具,新建一个session:1. 创建一个有权限的用户:  2.
    02-10
  • linux的sed(增删改查)使用方法 linux教程:sed命令的用法
    linux的sed(增删改查)使用方法 linux教程:sed
    sed的增删改查的基本操作参考:https://www.cnblogs.com/0zcl/p/6855740.html01:增(a)2个sed命令,分别是:(这些操作都是在内存中进行的,所以不会 被写入到原文件中,如果需要修改原文件则需要用大 -i )  eg:修改原文件的内容。为了防止修改配置文件,
    02-10
  • SpringBoot和mybatis整合报错:Caused by: org.apache.ibatis.builder.BuilderException: Error creating documen
    SpringBoot和mybatis整合报错:Caused by: org.
    很明显,报错是xml有问题,于是去检查,发现:    由于粗心,保存的时候,按的太频繁,多按了个s在里面,导致启动报错!
    02-10
  • An incompatible version [1.2.10] of the APR
     这个链接的博主写的很详细,直接推荐:https://blog.csdn.net/zhoukikoo/article/details/80532483
    02-10
  • Caused by: org.apache.ibatis.binding.Binding
    Caused by: org.apache.ibatis.binding.BindingException: Parameter '__frch_item_0' not found. Available parameters are [list]  解决办法:1.其实这里的批量保存 ,mybatis 的xml文件中的parameterType 要求不高,可以是java.util.List,也可以是list集
    02-10
  • The APR based Apache Tomcat Native library
    tomat在linux服务器上启动报The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/local/jdk1.6.0_26/jre/lib/i386/server:/usr/local/jdk1.6.0_26/jre/l
    02-10
  • Caused by: java.lang.ClassNotFoundException:
    Caused by: java.lang.ClassNotFoundException: org.apache.commons.math3.util.ArithmeticUtils缺少jar包:commons-math3-3.6.jar 
    02-10
  • Mybatis异常:Caused by: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 3 字节
    Mybatis异常:Caused by: com.sun.org.apache.x
    Mybatis异常:Caused by: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 3 字节的 UTF-8 序列的字节 3 无效一、异常情况   二、造成原因  主要是字符编码问题三、解决办法   在pom.xml文件中加入如下内容: 1 plugins
    02-10
  • IIS访问站点,出现connection refused
    IIS访问站点,出现connection refused
    排查后,发现是因为使用了代理导致的。 需要设置 Don't use the proxy server for local addresses. 
    02-10
  • Google Chrome 55 Released – Install on RHEL/CentOS 7/6 and Fedora 25-20
    Google Chrome 55 Released – Install on RHEL
    Google Chrome is a freeware web browser developed by Google Inc. Google Chrome team proudly announced the release of Google Chrome 55 on December 01, 2016.The actual version is 55.0.2883.75 for Linux and Mac OS X/Windows operatin
    02-10
点击排行