博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Shell之sed命令
阅读量:5883 次
发布时间:2019-06-19

本文共 1432 字,大约阅读时间需要 4 分钟。

  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

你可能感兴趣的文章
开源SQL-on-Hadoop系统一览
查看>>
【3-2 报名中】Apache RocketMQ 开发者沙龙 成都站
查看>>
Java后端学习路线图,你真的只需要这一张!
查看>>
C++进程间通信的十一种方法
查看>>
通过DataWorks数据集成归档日志服务数据至MaxCompute进行离线分析 ...
查看>>
[MySQL] ibtmp文件过大怎么处理?
查看>>
分享几款Unity脚本插件 解决跨平台输入控制难题 ...
查看>>
报表也可以根据单元格计算后结果进行排序
查看>>
ACM MM 论文 | 用于行人重识别的多层相似度感知CNN网络 ...
查看>>
如何利用 CSS 动画原理,在页面上表现日蚀现象
查看>>
Redis分布式锁的正确实现方式
查看>>
Linux找回缺少的命令
查看>>
镭速介绍关于高速数据传输!
查看>>
mysql中使用enum,如何获取所有可能的值
查看>>
数据连通这件事,英特尔也很上心
查看>>
阿里云首次在ASPLOS'19发布重磅论文:揭秘帮助ECS快速迭代的热升级技术
查看>>
基于快速GeoHash,如何实现海量商品与商圈的高效匹配?
查看>>
seo知否:死链对于网站的利与弊【对网站的特殊影响】
查看>>
荣耀品牌全面升级背后:以战代守,深蹲起跳
查看>>
这本书会是你在算法分析道路上最好的养料
查看>>