sed用于一次性处理所有的编辑任务,尤为高效,为用户节省了大量的时间,sed适用于以下三种场合:

 1、编辑相对交互文本编辑器而言太大的文件;

  2、编辑命令太复杂,在交互式文本编辑器中难以输入的情况;

  3、对文件扫描一遍,但是需要执行多个编辑函数的情况;

sed 只是对缓冲区中原始文件的副本进行编辑,并不编辑原始的文件。因此,如果需要保存改动内容,需要将输出重定向到另一个文件,可以使用下面格式的命令:

    sed  'sed命令'  input_file > result_file

 该命令将sed 命令对input-file的更改保存到result-file中,“>”符号是重定向符号;

 调用sed的三种方式:

    1、在shell中直接调用sed,格式为:sed  [选项]  'sed命令'   输入文件  //必须用单引号引起sed命令

    2、将sed命令插入脚本文件后,然后通过sed命令调用它,格式为:

        sed   [选项]   -f    sed脚本   输入文件

    3、直接执行sed脚本,格式为:

         ./sed 脚本文件  输入文件

  sed命令标识对文本进行如何处理。如打印、删除、追加、插入、替换等

sed命令定位文本的方法:

  sed   -n  '1p'  input    //仅仅打印input的第一行; 若不带-n选项,则不仅仅打印第1行,还会打印input的全部内容;

  sed   -n  '3, 6p'  input     //仅仅打印第3-6行

  使用/pattern/方法进行模式匹配

    sed  -n  '/Certificate/p'  input    //打印匹配Certificate的行,大小写敏感

    sed  -n  /Certificate/,  6p' input    //打印匹配Certificate的行 到 6 之间的行  

   sed编辑命令 a\ 符号用于追加文本,它可以将指定文本的一行或多行追加到指定行后面。如果不指定文本追加位置,sed默认放置到每一行的后面,追加文本的格式为:

     sed  '指定地址a\text'  输入文件

    注:指定地址以匹配模式/pattern/或行号的形式给出,用于定位新文本的追加位置,sed对\a后的文本进行追加操作(增加新的一行);

    特别注意:sed完成追加文本功能后,只是将结果输出到标准输出,原始文件并没有做任何改变;

1 /bin/sed   -f          #必须加上-f选项, 若无此选项,脚本执行报错
2 /test/a\                #a\表示在test所在的行之后添加文本
3
4 #添加内容
5 We append a new line . \    #"\”符号表示换行
6 We append  another line.

  "$"符号,在正则表达式中表示行尾,特别注意的是,在sed中, "$"表示最后一行;

  sed  -n  '2, 10!p'  input  //表示打印出非2--10行的行;

  插入文本:sed   '指定地址i\text'   输入文件  //与“a\”刚好相反,在指定位置所在行之前行拆入text; (text是新的一行)

   

  

    

转载于:https://www.cnblogs.com/chris-cp/p/4212750.html

Shell之sed命令相关推荐

  1. [shell基础]——sed命令

    ---恢复内容开始--- 关于sed sed 是一种在线编辑器,它一次处理一行内容. 处理时,把当前处理的行存储在临时缓冲区中,称为"模式空间"(pattern space),接着 ...

  2. linux shell sed i,Linux Shell学习-sed命令详解

    (1).sed介绍 Sed是流编辑器,stream editor,它是一个将一些列编辑命令作用于一批文本文件的理想工具. (2).sed工作原理 Sed是一个非交互式文本编辑器,它可以对文本文件和标准 ...

  3. sed搜索某行在行末追加_linux shell 用sed命令在文本的行尾或行首添加字符

    昨天写一个脚本花了一天的2/3的时间,而且大部分时间都耗在了sed命令上,今天不总结一下都对不起昨天流逝的时间啊~~~ 用sed命令在行首或行尾添加字符的命令有以下几种: 假设处理的文本为test.f ...

  4. linux shell 用sed命令在文本的行尾或行首添加字符

    from:http://www.cnblogs.com/aaronwxb/archive/2011/08/19/2145364.html 昨天写一个脚本花了一天的2/3的时间,而且大部分时间都耗在了s ...

  5. linux 行首加特定字符_linux shell 用sed命令在文本的行尾或行首添加字符

    昨天写一个脚本花了一天的2/3的时间,而且大部分时间都耗在了sed命令上,今天不总结一下都对不起昨天流逝的时间啊~~~ 用sed命令在行首或行尾添加字符的命令有以下几种: 假设处理的文本为test.f ...

  6. shell中sed命令用法

    一.sed命令解析 1.sed工具概述 Stream  EDitor,流式编辑器         - 非交互,基于模式匹配过滤及修改文本         - 逐行处理,并将结果输出到屏幕       ...

  7. shell中sed命令的用法

    sed (stream editor)流编辑器也是linux中的一条命令,在shell中经常需要用到的非交互式修改文件内容的命令.sed处理文本是按行处理,也就是读一行处理一行. sed的命令基本格式 ...

  8. Shell:用sed命令删除特定行

    一.sed命令 Linux sed 命令是利用脚本来处理文本文件. sed 可依照脚本的指令来处理.编辑文本文件. 此处用-i参数实现 -i : 直接在文件上编辑 (edit files in pla ...

  9. Linux Shell重定向 管道命令 grep搜索 awk编程 sed文件操作高阶函数

    在编程中如果能够熟悉shell高阶语法,将对我们进阶为高级程序员有很大的帮助,本文将从Shell重定向 管道命令 awk编程 sed等方面展开介绍. 作者:有勇气的牛排 文章目录 1 shell重定向 ...

最新文章

  1. Java的Clone
  2. 共轭梯度下降法matlab,用matlab实现最速下降法,牛顿法和共轭梯度法求解实例
  3. C#实现在Winform中嵌入Word和Excel
  4. 小米路由器添加扩展工具_小米正式发布miVela软件平台,与各方共同合作推进物联网发展...
  5. SSH框架中不为人知的细节(一)
  6. 基于Java+SpringBoot+vue+elementui的校园文具商城系统详细设计和实现
  7. 计算机存储系统中,有哪些措施可以提高 CPU 访问存储系统的速度?
  8. 写给大家看的设计模式
  9. 【移动GIS】室内导航算法设计
  10. 四皇后问题(同理适用于n皇后问题)图片版
  11. tomcat重启时出现:严重: Error filterStart
  12. unity IEnumerator 协程的理解
  13. sas不能安装独立的java_sas安装问题java platform standard edition runtime environment
  14. 常用的邮箱服务器配置
  15. 【高等数学】弧微分、渐近线、曲率和曲率半径
  16. 计算机考试怎样切换输入法,高级会计师考场如何切换输入法?
  17. 获取QQ企业邮箱通讯录PY脚本
  18. Springboot实验室自主预约系统毕业设计源码111953
  19. python迭代廖雪峰_廖雪峰python教程:迭代
  20. Java · 认识 String 类(上)· 创建字符串 · 字符串比较相等 · 字符串常量池 · 字符串不可变 · 字符字节与字符串

热门文章

  1. 智卡调度APP的隐私声明
  2. Picgo配置Bilibili图床
  3. BaziPickView 八字时间选择器、
  4. java毕业生设计医院门诊分诊系统计算机源码+系统+mysql+调试部署+lw
  5. thinkphp6 excel数据导入数据库
  6. Linux培训哪家靠谱?过来人教你如何挑选培训机构
  7. 如何正确高效准确的使用搜索引擎?
  8. 和小伙伴们一起学Unity3D(六)碰撞与触发器
  9. HTML+CSS页面练习——legend第五部分
  10. Floyd算法求无向图最小环