sed基础用法和笔试题.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
sed基础用法和笔试题

sed sed是一个非交互性流编辑器,必须通过行号或正则表达式指定要改变的文本行。和grep与awk一样,sed是一种重要的文本过滤工具,或使用一行命令、或使用管道与grep与awk相结合。 sed怎样读取数据 sed从文件的一个文本行或标准输入的几种格式中读取数据,将之copy到一个编辑缓冲区,然后读命令行或脚本的第一条命令,并使用这些命令查找模式或定位行号编辑它。重复此过程直到命令结束。 记住:sed不与原始文件打交道,它操作的只是一个copy,然后所有的改动如果没有重定向到一个文件,将输出到屏幕。 调用sed sed命令行 sed [option] sed-command input-files 记住:在命令行使用sed命令时,实际命令要加单引号(这样可以禁用shell扩展)。Sed也允许加双引号。 将sed命令插入脚本文件,然后调用sed sed [option] -f sed脚本文件 输入文件 将sed命令插入脚本文件,并使sed脚本可执行 sed脚本文件 [option] 输入文件 第一行要具有sed命令解释器 不管使用上述那种方式,如果没有指定输入文件,sed从标准输入中接受输入,一般是键盘或重定向结果。 保存sed输出 由于不接触原始文件,如果想要保存改动内容,简单地将所有输出重定向到一个文件即可。 sed ‘some-sed-commands’ input-file myoutfile 使用sed在文件中查找文本的方式 sed浏览输入文件时,缺省从第一行开始,有两种方式定位文本: 1)使用行号,可以是一个简单数字,或是一个行号范围 行地址 $ sed -e 1d /etc/services | more 使用 sed 从输出流除去 /etc/services 文件第一行 “-e”选项:指定下一条是编辑命令,在有多项编辑命令时加入此选项。如果只用到一条命令,可省略。 地址范围 $ sed -e 1,10d /etc/services | more sed 将删除输出的第 1 到 10 行 用逗号将两个地址分开时,sed 将把后面的命令应用到从第一个地址开始、到第二个地址结束的范围。在本例中,将 d 命令应用到第 1 到 10 行(包括这两行)。所有其它行都被忽略。 2)使用正则表达式 $ sed -e /^#/d /etc/services | more sed 删除以 # 开始的行 规则表达式地址总是由斜杠括起。它们指定一种模式,紧跟在规则表达式地址之后的命令将仅适用于正好与该特定模式匹配的行。 $ sed -n /test/,/check/p example 所有在模板 test和check所确定的范围内的行都被打印。 -n选项表示不打印输出结果。加编辑命令p将使-n选项无效,表示只打印那些发生编辑的行 $ sed -n 5,/^test/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/ 基本sed编辑命令 p 打印匹配行 = 显示文件行号 a\ 在定位行号后将新文本插入匹配行的下一行 i\ 在定位行号后将新文本插入到匹配行的前一行 c\ 用新文本替换定位文本 d 删除定位行 s 使用替换模式替换相应模式 r 从另一个文件中读文本 w 写文本到一个文件 q 第一个模式匹配完成后退出或立即退出 l 显示与八进制ASCII代码等价的控制字符 {} 在定位行执行的命令组 n 移动到匹配行的下一行 延续到下一输入行;允许跨行的模式匹配语句 g 将模式2粘贴到/pattern n/ y 用替换模式替换查找模式,前后两个模式的字长要相同。 h 将模式空间的内容复制并存入保持缓存区内,待以后使用 G 取出保持缓冲区的行,然后把它放回模式空间中 x 取出保持缓冲区的行,然后用它替换模式空间的内容 保存发现模式以便重新调用它,然后把它放在替换字符串里面。 # sed 2p grade.txt M.Tansley 05/99 48311 Green 8 40 44 J.Lulu 06/99 48317 green 9 24 26 J.Lulu

文档评论(0)

haocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档