文本数据操作 sed

sed 行编辑器

使用方法

set [options] 'AdressCommand' file ...
指定option, Adress, Command

option

  • -n:静默模式,不再默认显示模式空间中的内容
  • -i:直接修改原文件
  • -e SCRIPT -e SCRIPT:可以同时执行多个脚本
  • -f /PATH/TO/SED_SCRIPT
  • -r:表示使用扩展正则表达式

Command

  • d:删除复合条件行
  • p:显示复合条件行
  • a\string:在指定的行后面添加新行,内容为string
  • \n:换行
  • i\string:在指定行前面添加新行,内容为string
  • r FILE:将指定文件内容添加至符合条件的行处
  • w FILE:将指定的范围内的行另存只指定文件中
  • s/pattern/string/修饰符:查找并替换,默认只替换每行中第一次被模式匹配到的
    g:行内全局替换
    i:忽略字符大小写

Adress

  • 可以没有
  • 给定范围(1,2)
  • 查找指定行(先做匹配)

示例

  • 第一行下面追加一行
    sed -i “1a\helloworld” sort.txt
  • 删除文件第二行
    sed -i "2d"sort.txt
  • 删除包含apple行
    sed -i "/apple/d" sort.txt
  • 替换文件中的hello为nihao(直接替换)
    sed -i "s@hello@nihao@" sort.txt
  • 将id:3替换为id:5(扩展替换)
    sed -d "(id:)s/[0-6](defaultid:)/\15\2" sort.txt
    3的前面后面都有内容,通过添加前后内容,扩大查找准确度,并使用(),只替换数字,通过引用的方式保留前后内容。留下静态数据,替换动态数据
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • grep擅长查找,awk擅长分析(select),sed擅长批量编辑行 概述 SED的英文全称是 Stream E...
    piziyang12138阅读 4,419评论 0 3
  • grep擅长查找,awk擅长分析(select),sed擅长批量编辑行概述SED的英文全称是 Stream EDi...
    Arroganter阅读 4,702评论 0 7
  • 第 2 章 SHELL 基础知识2.1 shell脚本我们在上面简单介绍了一下什么是shell脚本,现在我们来进一...
    LiWei_9e4b阅读 5,457评论 0 0
  • 本文承接之前写的三十分钟学会AWK一文,在学习完AWK之后,趁热打铁又学习了一下SED,不得不说这两个工具真的堪称...
    mylxsw阅读 9,837评论 3 74
  • 登记住宿时,要询问一下宾馆的一些服务项目和具体的一些细节问题,这样好向游客说明,也可以更好地方便游客。 1.Do ...
    小范伤阅读 3,746评论 0 0