- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
se基础用法和笔试题.doc
1. sed
sed是一个非交互性流编辑器,必须通过行号或正则表达式指定要改变的文本行。和grep与 awk—?样,sed是一?种重要的文本过滤工具,或使用一行命令、或使用管道与grep与awk相 结合。
1.1.sed怎样读取数据
sed从文件的一个文本行或标准输入的几种格式屮读取数据,将之copy到一个编辑缓冲区,然 后读命令行或脚本的第一条命令,并使用这些命令查找模式或定位行号编辑它。重复此过程直到 命令结束。
记住:sed不与原始文件打交道,它操作的只是一个copy,然后所有的改动如果没有重定向到 —个文件,将输出到屏幕。
1.2.调用 sed
1) sed命令行
sed [option] sed-command input-files
记住:在命令行使用sed命令时,实际命令要加单引号(这样可以禁用shell扩展)。Sed也 允许加双引号。
2) 将sed命令插入脚本文件,然后调用sed
sed [option] -f sed脚本文件输入文件
3)将sed命令插入脚本文件,并使sed脚本可执行
sed脚本文件[option]输入文件
第一行要具有sed命令解释器
不管使用上述那种方式,如果没冇指定输入文件,sed从标准输入屮接受输入,一般是键盘或 重定向结果。
1.3.保存sed输出
由于不接触原始文件,如果想要保存改动A容,简单地将所有输出?定向到一个文件即对
sed some-sed-commands, input-file myoutfile
1.4.使用sed在文件中查找文本的方式
sed浏览输入文件时,缺省从第一行开始,有W种方式定位文本:
1) 使用行号,可以是一个简单数字,或是一个行号范围
行地址
$ sed -e ’1d’ /etc/services | more
使用sed从输出流除去/etc/services文件第一行
”-e〃选项:指定下一条是编辑命令,在有多项编辑命令时加入此选项。如果只用到一条命令,可 省略。
地址范围
$ sed -e ’1,10d’ /etc/services | more
sed将删除输出的第1到10行
用逗号将两个地址分开吋,sed将把后面的命令应用到从第一个地址幵始、到第二个地址结束 的范围。在本例屮,将1d*命令应用到第1到10行(包括这两行)。所有其它行都被忽略。
2) 使用正则表达式
$ sed -e 7A#/d* /etc/services | more
sed删除以开始的行
规则表达式地址总是由斜杠括起。它们指定一种模式,紧跟在规则表达式地址之后的命令将仅适 用于正好与该特定模式匹配的行。
$ sed -n 7test/,/check/p* example
所有在模板test和check所确定的范围内的行都被打印。
-n选项表示不打印输出结果。加编辑命令p将使-n选项无效,表示只打印那些发生编辑的行
$ sed -n *5,/Atest/p* example
打印从第五行开始到第一个包含以test开始的行之间的所有行。
X
X为一行号,如1
X, y
表示行号范围从x到y
x, y!
斉询不包含指定行号x和y的行
1,2!
/pattern/
查询包含模式的行
/disk/或/[a-z]/
/pattern/pattern/
查询包含两个模式的行
/disk/disks/
在给定行号上查询包含模式的行
/ribbon/,3
x,/pattern/
通过行号和模式杳询匹配行
3,/vdu/
1.5.基本sed编辑命令
P
打印匹配行
=
显示文件行号
a\
在定位行号后将新文本插入冈配行的下一行
i\
在定位行号后将新文本插入到匹配行的前一行
c\
用新文本替换定位文本
d
删除定位行
s
使用替换模式替换相应模式
r
从另一个文件中读文本
w
写文本到一个文件
q
第一个模式匹配完成后退出或立即退出
l
益示与八进制ASCII代码等价的控制字符
{}
在定位行执行的命令组
n
移动到匹配行的下一行
延续到下一输入行;允许跨行的模式匹配语句
g
将拔式2粘贴到/pattern n/
y
用替换模式替换查找模式,前后两个模式的字长要相同。
h
将模式空间的内容复制并存入保持缓存区内,待以后使用
G
取出保持缓冲区的行,然后把它放回模式空间中
X
取出保持缓冲区的行,然后用它替换模式空间的内容
保存发现模式以便重新调用它,然后把仑放在替换字符串里而。
# sed f2p* grade.txt
M.Tansley
05/99
48311
Green
8
40
44
J.Lulu
06/99
48317
green
9
24
26
J.Lulu
06/99
48317
green
9
24
26
P-Bunny
02/99
48
Yellow
12
35
2
原创力文档


文档评论(0)