Shell之sed命令

简介:   sed用于一次性处理所有的编辑任务,尤为高效,为用户节省了大量的时间,sed适用于以下三种场合:  1、编辑相对交互文本编辑器而言太大的文件;   2、编辑命令太复杂,在交互式文本编辑器中难以输入的情况;   3、对文件扫描一遍,但是需要执行多个编辑函数的情况;   sed 只是对缓冲区中原始文件的副本进行编辑,并不编辑原始的文件。

  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是新的一行)

    

 

  

 

 

 

    

相关文章
|
网络协议 Shell 网络安全
面试官想听的不仅是命令——如何结构化回答“容器无Shell时如何测试外网”?
“说说看,如果一个Pod的容器没有Shell,如何测试它能否访问外网?”
面试官想听的不仅是命令——如何结构化回答“容器无Shell时如何测试外网”?
|
存储 Unix Shell
Shell 输出命令完全指南:echo 与 printf 的深度剖析
本文深入解析了 Shell 编程中 `echo` 和 `printf` 两个核心输出命令的用法与区别。`echo` 简单易用,适合基础输出;`printf` 功能强大,支持复杂格式化。文章从语法、转义序列、高级技巧到实际应用场景(如日志记录、进度显示)逐一讲解,并对比两者的性能与适用场景,帮助开发者根据需求灵活选择。最后通过进阶技巧和常见问题解答,进一步提升对两者的掌握程度。
751 1
|
运维 Shell 数据库
Python执行Shell命令并获取结果:深入解析与实战
通过以上内容,开发者可以在实际项目中灵活应用Python执行Shell命令,实现各种自动化任务,提高开发和运维效率。
491 20
|
安全 Shell 数据处理
使用Python执行Shell命令并获取结果
在实际应用中,可以根据需要选择适当的参数和方法来执行Shell命令,并处理可能出现的各种情况。无论是系统管理、自动化任务还是数据处理,掌握这些技巧都将极大地提高工作效率。
699 12
|
Web App开发 网络协议 Linux
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
这篇文章是关于Linux命令的总结,涵盖了从基础操作到网络配置等多个方面的命令及其使用方法。
1072 1
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
|
人工智能 Shell iOS开发
AI Shell:在命令行里“对话” AI ,微软推出将 AI 助手引入命令行的 CLI 工具,打造对话式交互命令行
AI Shell 是一款强大的 CLI 工具,将人工智能直接集成到命令行中,帮助用户提高生产力。AI Shell 支持多种 AI 模型和助手,通过多代理框架提供丰富的功能和灵活的使用模式。
2444 7
|
Java Shell Windows
java Runtime.exec()执行shell/cmd命令:常见的几种陷阱与一种完善实现
java Runtime.exec()执行shell/cmd命令:常见的几种陷阱与一种完善实现
571 1
|
Unix Shell Linux
常见的shell命令
shell常用命令
440 11
|
Shell Linux
Linux shell编程学习笔记82:w命令——一览无余
Linux shell编程学习笔记82:w命令——一览无余
|
Shell 知识图谱
Shell printf 命令
10月更文挑战第3天
190 1