第二章流编辑器sed一,什么是流编辑器?流编辑器是一种流水线型的、非交互式的文本编辑器。它使用户可以在命令行上(而不是编辑器中)对文件进行无破坏性编辑
第二章 流编辑器sed 一. 什么是流编辑器? 流编辑器是一种流水线型的、非交互式 的文本编辑器。 它使用户可以在命令行上 (而不是编辑器中)对文件进行无破坏 性编辑
屏幕编辑器与流编辑器的区别vised交互式非交互式1.用户操作方式2.文本处理模式全局并行(可逆行)逐行串行(不可逆行)编辑器中命令行上3.编辑命令地点4.编辑空间临时文件(文件缓存)模式空间(行缓存)破坏性的非破坏性的5.对原文本影响不能可以6.批量发出命令行字符7.基本编辑单位人工编辑程序自动编辑8.主要应用场合较小较大9.可编文件大小
屏幕编辑器与流编辑器的区别 vi sed 1.用户操作方式 2.文本处理模式 3.编辑命令地点 4.编辑空间 5.对原文本影响 6.批量发出命令 7.基本编辑单位 8.主要应用场合 9.可编文件大小 交互式 全局并行(可逆行) 编辑器中 临时文件(文件缓存) 破坏性的 不能 字符 人工编辑 较小 非交互式 逐行串行(不可逆行) 命令行上 模式空间(行缓存) 非破坏性的 可以 行 程序自动编辑 较大
二.sed 命令基本格式file‘command'sedsed -n ‘command' filesed-e ‘command1'-e‘command2'filesed -f cmd file file任选项说明:行编命令command:只显示与模式匹配的行缺省都显示-n:在命令行上进行多次编辑-e.f:编辑命令放在随后的命令表文件中
二. sed 命令基本格式 1. sed ‘command’ file 2. sed -n ‘command’ file 3. sed -e ‘command1’ –e ‘command2’ file 4. sed -f cmd_file file 任选项说明: command: 行编命令 -n: 只显示与模式匹配的行(缺省都显示) -e: 在命令行上进行多次编辑 -f: 编辑命令放在随后的命令表文件中
注意:sed命令的结果是送到标准输出上,即荧光屏上,如果要将结果保存在文件中,应该使用重定向功能!例如:sed‘s/student/teacher/g’oldfile >newfile如果要把结果保留在原文件中,该如何办?
注意: sed命令的结果是送到标准输出上,即 荧光屏上,如果要将结果保存在文件中, 应该使用重定向功能! 例如: sed ‘s/student/teacher/g’ oldfile > newfile 如果要把结果保留在原文件中,该如何办?
三.行编辑命令的基本格式【行定位符Ⅱ编辑命令元字符】福例如:sed‘1,9dabcsed-n196p'abc2./正则表达式/编辑命令元字符例如:filenamesed -n ‘/student/psed ‘xyzld'filename3.定位符11元字符/正则表达式/元字符】例如:sed -n‘3,8s/east/west/’filenamefilenamesed -n1Ss/computer/network/g
三. 行编辑命令的基本格式 1. [行定位符][编辑命令元字符] 例如: sed ‘1,9d’ abc sed -n ‘196p’ abc 2. /正则表达式/[编辑命令元字符] 例如: sed -n ‘/student/p’ filename sed ‘/xyz/d’ filename 3. [定位符][元字符]/正则表达式/[元字符] 例如: sed –n ‘3,8s/east/west/’ filename sed –n ‘1,$s/computer/network/g’ filename