SED,全称Stream EDitor,是Unix环境下的流编辑器,主要用于对文本进行过滤和转换,支持正则表达式。它以行为单位对文本进行处理,并且可以执行插入、删除、替换以及其它复杂的文本转换操作。SED可以使用单行命令(称为one-liner),也可以使用SED脚本进行更复杂的操作。 在给出的知识点中,SED单行脚本的使用方法被概括为以下几个主要方面: 1. 文本间隔处理 - 在每行后面增加空行:使用`sed G`命令,可以在每行的后面增加一个空行。 - 删除所有空行后在每行后面增加空行:通过`sed '/^$/d;G'`组合命令,可以删除所有空行,并在剩余每行后面增加一个空行。 - 在匹配特定模式的行之前或之后插入空行:利用`sed '/regex/{x;p;x;}'`和`sed '/regex/G'`命令,可以在匹配到的特定模式行前后分别插入空行。 2. 编号 - 对文件中的每一行进行编号,使用`sed = filename | sed 'N;s/\n/\t/'`命令,可实现简单的左对齐编号。 - 对文件中的所有行进行编号,编号显示在左侧,文字右端对齐:利用`sed = filename | sed 'N;s/^//;s/*\(.\{6,\}\)\n/\1/'`组合命令来完成。 - 对文件中的所有非空白行进行编号:通过`sed '/./=' filename | sed '/./N;s/\n//'`来实现。 - 计算文件的总行数:使用`sed -n '$='`命令可以模拟Unix命令`wc -l`的输出。 3. 文本转换和替代 - Unix环境下的DOS行结束符(CR/LF)转换为Unix格式(LF):可以使用`sed 's/.$//'`命令,假设所有行以CR/LF结束,或者在bash/tcsh环境下使用`sed 's/^M$//'`(其中^M需要通过Ctrl-V来输入)。 - Unix环境下的Unix行结束符(LF)转换为DOS格式(CR/LF):在不同shell环境下分别使用`sed 's/$/`echo-e\\r`/'`或`sed 's/$'"/`echo\\r`/"`等命令。 - DOS环境下的Unix行结束符(LF)转换为DOS格式(CR/LF):可以采用多种方法,如`sed 's/$//'`,或者使用`tr`命令进行转换。 - 删除行前导和行尾的空白字符:`sed 's/^[\t]*//'`命令删除行首空白,`sed 's/[\t]*$//'`命令删除行尾空白。 以上是SED单行脚本的常用技巧,能够帮助用户快速处理文本数据,进行各种文本格式的转换,以及增加文本的可读性。SED命令的强大之处在于其灵活性和强大的文本处理能力,使得编辑操作简单高效。在Unix和类Unix系统中,SED是一个非常重要的工具,广泛应用于文本处理、数据分析、日志分析和自动化脚本编写中。掌握SED命令对于任何需要进行文本处理的IT专业人员来说都是一项必备技能。
剩余7页未读,继续阅读
- 粉丝: 357
- 资源: 79
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 没用333333333333333333333333333333
- 基于Vue和SpringBoot的企业员工管理系统2.0版本设计源码
- 【C++初级程序设计·配套源码】第2期-基本数据类型
- 基于Java和Vue的kopsoftKANBAN车间电子看板设计源码
- 影驰战将PS3111 东芝芯片TT18G23AIN开卡成功分享,图片里面画线的选项很重要
- 【C++初级程序设计·配套源码】第1期-语法基础
- 基于JavaScript、CSS、HTML的简易DOM版飞机游戏设计源码
- 基于Java开发的日程管理FlexTime应用设计源码
- SM2258XT-BGA144-4BGA180-6L-R1019 三星KLUCG4J1CB B0B1颗粒开盘工具 , EC, 3A, 94, 43, A4, CA 七彩虹SL300这个固件有用
- GJB 5236-2004 军用软件质量度量