欢迎来到天天文库
浏览记录
ID:50830044
大小:40.45 KB
页数:2页
时间:2020-03-15
《sed命令详解与示例.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、grep命令的查找功能,sed命令的流编辑功能和awk(现已发展成为一门编程语言)作为更强大的文本编辑命令,在Linux系统管理中,起着重要且全面的作用。而后来出现的perl编程语言(PracticalExtractionandReportLanguage),可以实现sed和awk的几乎所有功能。但使用perl相对复杂和臃肿,因而sed和awk仍然活跃在shell编程的各个方面。在sed命令中引入shell变量Linux下Shell编程——sed命令基本用法Unix文本处理工具之sed sed高级用法(1)sed是非交互式
2、的编辑器,它按行处理对象文件,但不修改处理文件本身,而是逐行读入文件内容并在临时缓存区保存副本并对其进行处理。处理完成每一行就将该行目标内容打印到屏幕,并将该缓存区内容删除,然后读入下一行进行处理。另外需要注意的是,和grep不同,sed不论是否知道指定的模式,它的退出状态都是0(Linux中通常代表真)。只有存在语法错误时,sed的退出状态才不是0。sed命令的一般格式为sed [option] ‘{command}’ datafile或者sed[option] -f sed_script.sh data_file
3、如果没有输入文件,则sed将从标准输入中接收输入流。(2)常用的sedoption-n取消默认输出。sed命令默认打印输入文件的所有行的同时,再次打印匹配行内容。加上-n命令后,则只打印匹配命令中指明的pattern的行。-e指定多个编辑命令。sed默认之接受一组命令,如果要指定多个命令,则需要使用-e选项指明各个命令。例如sed-n-e'1,800{/pattern/p}' -e '1,800{/parttern/=}' datafile该命令使用-e指定两个命令。前一个打印匹配pattern的行,后一个打印匹配patt
4、ern的行的行号。1,800是定址条件,指明只查询处理1到800行的数据。(3)sed命令命令p用于显示sed处理的内容,常和-n选项一起使用,以取消默认打印操作,只打印选定内容。命令d用于删除匹配行。注意删除的是缓冲区副本而非文件本身。sed‘$d’datafilesed‘/pattern/d’datafile第一条命令删除文件的最后一行($匹配最后一行),打印文件的所有其它内容。第二条命令删除匹配pattern的行,并打印其它所有行。命令s用于替换指定内容。sed‘s/pattern/newconent/g’dataf
5、ilesed –n‘1,20s/str$/newconent/gp’datafile第一条命令全局替换(g)文件中符合pattern的字符串为newconent。第二条命令处理1到20行内匹配以str结尾的行($匹配行尾),并把str更换为newcontent后打印匹配行。上述例示中都以/作为匹配串和新字符串的分隔符,但实际上,可以指定其它分隔符(换行符、反斜杠除外)。指定其它分隔符时,可使用类似如下方式。sed ‘s#pattern#newcontent#g'datafile上述命令指定#为分隔符。命令r为读命令,使用该
6、命令将另一个文本文件的内容加到当前文件的特定位置上读出。sed ‘/pattern/rinput.txt’ datafile如果在文件datafile的某一行匹配到pattern,就在该行后读入文件input.txt的内容。该过程为全局型行为。命令w为写命令,将当前文件的内容写入到另一个文件中。rdzs.shudaoge.com/儒道至圣
此文档下载收益归作者所有