- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
shell入门到经典 ch04(上)
第4章 sed命令和awk编程(上)
南京财经大学 江苏省电子商务重点实验室
伍之昂 王有权
提纲
sed命令
sed基本用法
sed命令选项
sed命令定位
sed基本编辑
awk编程
sed基本用法(1)
sed(stream editor)是流编辑器,可对文本文件和标准输入进行编辑。
sed只是对缓冲区中原始文件的副本进行编辑,并不编辑原始的文件,如果需要保存改动内容,可以选择使用下面两种方法:
重定向
w编辑命令
sed基本用法(2)
调用sed有三种方法:
在Shell命令行输入命令调用sed,格式为:
sed [选项] ‘sed命令’ 输入文件
将sed命令插入脚本文件后,然后通过sed命令调用它,格式为:
sed [选项] -f sed脚本文件 输入文件
将sed命令插入脚本文件后,最常用的方法是设置该脚本文件为可执行,然后直接执行该脚本文件,格式为:
./sed脚本文件 输入文件
第二种方法脚本文件的首行不以#!/bin/sed –f开头;第三种方法脚本文件的首行是#!/bin/sed –f
推荐使用第一种方法和第三种方法
sed命令选项
选项
意义
-n
不打印所有行到标准输出
-e
表示将下一个字符串解析为sed编辑命令,如果只传递一个编辑命令给sed,-e选项可以省略
-f
表示正在调用sed脚本文件
默认情况,sed处理完文本将输入文件打印到标准输出;一旦加上-n选项,sed就不再打印输入文件,而只打印处理结果
例4-1
当向sed命令传递多个编辑命令时,在每个编辑命令前需要加上-e选项
例4-4
sed文本定位方法
选项
意义
x
x为指定行号
x,y
指定从x到y的行号范围
/pattern/
查询包含模式的行
/pattern/pattern/
查询包含两个模式的行
/pattern/,x
从与pattern的匹配行到x号行之间的行
x,/pattern/
从x号行到与pattern的匹配行之间的行
x,y!
查询不包括x和y行号的行
sed编辑命令
选项
意义
p
打印匹配行
=
打印文件行号
a\
在定位行号之后追加文本信息
i\
在定位行号之前插入文本信息
d
删除定位行
c\
用新文本替换定位文本
s
使用替换模式替换相应模式
r
从另一个文件中读文本
w
将文本写入到一个文件
y
变换字符
q
第一个模式匹配完成后退出
l
显示与八进制ASCII代码等价的控制字符
{}
在定位行执行的命令组
n
读取下一个输入行,用下一个命令处理新的行
h
将模式缓冲区文本拷贝到保持缓冲区
H
将模式缓冲区文本追加到保持缓冲区
x
互换模式缓冲区和保持缓冲区内容
g
将保持缓冲区内容拷贝到模式缓冲区
G
将保持缓冲区内容追加到模式缓冲区
sed文本定位
查找到与模式匹配的文本行,这是sed命令经常使用的命令
经常需要结合正则表达式
在Fedora 11系统下演示下面几例:
例4-3
例4-8
例4-10
例4-11
sed基本编辑(1)
追加文本:匹配行后面插入
插入文本:匹配行前面插入
修改文本:将所匹配的文本行利用新文本替代
删除文本:将指定行或指定行范围进行删除
在Fedora 11系统下演示下面几例:
例4-12
例4-13
例4-15
sed基本编辑(2)
sed替换文本操作将所匹配的文本行利用新文本替换,替换文本与修改文本功能有相似之处,它们之间的区别在于:替换文本可以替换一个字符串,而修改文本是对整行进行修改
替换文本的格式为:
s/被替换的字符串/新字符串/[替换选项]
选项
意义
g
表示替换文本中所有出现被替换字符串之处
p
与-n选项结合,只打印替换行
w 文件名
表示将输出定向到一个文件
sed基本编辑(3)
默认情况下,sed s命令将替换后的全部文本都输出,如果要求只打印替换行,需要结合使用-n和p选项,命令格式如下:
sed -n ‘s/被替换的字符串/新字符串/p’ 输入文件
演示例4-17
g选项是替换文本中所有出现被替换字符串之处
例4-18
w选项后加文件名表示将输出定向到这个文件,与sed编辑命令中的w是不矛盾的
例4-20
例4-22
sed基本编辑(4)
从文件中读入文本,r选项
例4-24
退出命令: q选项表示完成指定地址的匹配后立即退出
例4-25
变换命令: y选项表示字符变换,它将一系列的字符变换为相应的字符
sed ‘y/被变换的字符序列/变换的字符序列/’ 输入文件
sed y命令要求被变换的字符序列和变换的字符序列等长,否则sed y命令将报错
例4-26
sed编辑命令中的{}符号可以指定在定位行上所执行的命令组,它的作用与sed的-e选项类似,都是为了在定位行执行多个编辑命令
例4-28
谢谢
您可能关注的文档
最近下载
- TSZEIA 014-2023 二手手机出口质量要求.pdf VIP
- 2025年高考湖南卷物理真题 含答案.pdf VIP
- 个股动量效应的识别及“球队硬币”因子构建.pdf VIP
- 微机型母线保护分析与应用.pdf VIP
- (人教版)一年级上册科学 观察物体教案.doc VIP
- 学校EPC工程项目实施的重难点分析及对策.pdf VIP
- 典型事故五:内蒙古泰和煤焦化集团有限公司“4.8”爆炸事故.pdf VIP
- 2020款上汽通用别克君越_汽车使用手册用户操作图解驾驶车主车辆说明书电子版.pdf
- 基于新课标“教学评”一体化的小学语文教学设计与实施 培训课件.pptx
- 陶艺课程--校本特色课程-专题讲座.pptx VIP
文档评论(0)