欢迎来到天天文库
浏览记录
ID:14205531
大小:62.50 KB
页数:42页
时间:2018-07-26
《第10章 sed 用 法 介 绍》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第10章sed用法介绍下载第10章sed用法介绍sed是一个非交互性文本流编辑器。它编辑文件或标准输入导出的文本拷贝。标准输入可能是来自键盘、文件重定向、字符串或变量,或者是一个管道的文本。sed可以做些什么呢?别忘了,Vi也是一个文本编辑器。sed可以随意编辑小或大的文件,有许多sed命令用来编辑、删除,并允许做这项工作时不在现场。sed一次性处理所有改变,因而变得很有效,对用户来讲,最重要的是节省了时间。本章内容有:抽取域。匹配正则表达式。比较域。增加、附加、替换。基本的sed命令和一行脚本。可以在命令行输入
2、sed命令,也可以在一个文件中写入命令,然后调用sed,这与awk基本相同。使用sed需要记住的一个重要事实是,无论命令是什么,sed并不与初始化文件打交道,它操作的只是一个拷贝,然后所有的改动如果没有重定向到一个文件,将输出到屏幕。因为sed是一个非交互性编辑器,必须通过行号或正则表达式指定要改变的文本行。本章介绍sed用法和功能。本章大多编写的是一行命令和小脚本。这样做可以慢慢加深对sed用法的了解,取得宝贵的经验,以便最终自己编出大的复杂sed脚本。和grep与awk一样,sed是一种重要的文本过滤工具,或
3、者使用一行命令或者使用管道与grep与awk相结合。10.1sed怎样读取数据sed从文件的一个文本行或从标准输入的几种格式中读取数据,将之拷贝到一个编辑缓冲区,然后读命令行或脚本的第一条命令,并使用这些命令查找模式或定位行号编辑它。重复此过程直到命令结束。10.2调用sed调用sed有三种方式:在命令行键入命令;将sed命令插入脚本文件,然后调用sed;将sed命令插入脚本文件,并使sed脚本可执行。使用sed命令行格式为:sed[选项]sed命令输入文件。记住在命令行使用sed命令时,实际命令要加单引号。se
4、d也允许加双引号。使用sed脚本文件,格式为:sed[选项]-fsed脚本文件输入文件要使用第一行具有sed命令解释器的sed脚本文件,其格式为:90第二部分文本过滤下载sed脚本文件[选项]输入文件不管是使用shell命令行方式或脚本文件方式,如果没有指定输入文件,sed从标准输入中接受输入,一般是键盘或重定向结果。sed选项如下:n不打印;sed不写编辑行到标准输出,缺省为打印所有行(编辑和未编辑)。p命令可以用来打印编辑行。c下一命令是编辑命令。使用多项编辑时加入此选项。如果只用到一条sed命令,此选项无用
5、,但指定它也没有关系。f如果正在调用sed脚本文件,使用此选项。此选项通知sed一个脚本文件支持所有的sed命令,例如:sed-fmyscript.sedinput_file,这里myscript.sed即为支持sed命令的文件。10.2.1保存sed输出由于不接触初始化文件,如果想要保存改动内容,简单地将所有输出重定向到一个文件即可。下面的例子重定向sed命令的所有输出至文件‘myoutfile’,当对结果很满意时使用这种方法。10.2.2使用sed在文件中查询文本的方式sed浏览输入文件时,缺省从第一行开始,
6、有两种方式定位文本:1)使用行号,可以是一个简单数字,或是一个行号范围。2)使用正则表达式,怎样构建这些模式请参见第7章。表10-1给出使用sed定位文本的一些方式。表10-1使用sed在文件中定位文本的方式xx为一行号,如1x,y表示行号范围从x到y,如2,5表示从第2行到第5行/pattern/查询包含模式的行。例如/disk/或/[a-z]//pattern/pattern/查询包含两个模式的行。例如/disk/disks/pattern/,x在给定行号上查询包含模式的行。如/ribbon/,3x,/pat
7、tern/通过行号和模式查询匹配行。3./vdu/x,y!查询不包含指定行号x和y的行。1,2!10.2.3基本sed编辑命令表10-2列出了Sed的编辑命令。表10-2sed编辑命令p打印匹配行=显示文件行号a在定位行号后附加新文本信息i在定位行号后插入新文本信息d删除定位行c用新文本替换定位文本91第10章sed用法介绍下载(续)s使用替换模式替换相应模式r从另一个文件中读文本w写文本到一个文件q第一个模式匹配完成后推出或立即推出l显示与八进制ASCII代码等价的控制字符{}在定位行执行的命令组n从另一
8、个文件中读文本下一行,并附加在下一行g将模式2粘贴到/patternn/y传送字符n延续到下一输入行;允许跨行的模式匹配语句如果不特别声明,sed例子中使用下述文本文件quote.txt。10.3sed和正则表达式sed识别任何基本正则表达式和模式及其行匹配规则。记住规则之一是:如果要定位一特殊字符,必须使用()屏蔽其特殊含义,如有必要请参照第7章正则表达式。第7章使用
此文档下载收益归作者所有