当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: 2001 年 10 月 sed 是十分强大和小巧的文本流编辑器。
 

 

 ·bochs的初印象(cpu部分)    »显示摘要«
    摘要:you will say it is ugly! 写了自己的arm仿真平台,也用了一段时间bochs,断断续续地接触qemu,似乎一直在虚拟的世界里游走,乐而忘返。 bochs是x86的全仿真平台,用的人不计其数,但好的文档却几乎不存在,毕竟写虚拟机的是少数人。http://wiki.cs.uiuc.edu/cs427/architecture+of+bochs 《architecture of ......
 ·bash 实例,第 2 部分    »显示摘要«
    摘要:更多的 bash 基本编程daniel robbins总裁兼 ceo, gentoo technologies, inc.2000 年 4 月 在前一篇 bash 的介绍性文章中,daniel robbins 为您讲解了脚本语言的一些基本元素和使用 bash 的原因。在本文(即第二部分)中,daniel 继续前一篇的内容,并讲解条件 (if-then) 语句、循环和更多的 bash 基本结构。我们......


通用线程 -- sed 实例,第 2 部分
2001 年 10 月 sed 是十分强大与小巧的文本流编辑器.在本文章系列的第二篇中,daniel robbins 为您演示如何使用 sed 来执行字符串替换.创建更大的 sed 脚本以及如何使用 sed 的附加.插入与更改行命令.

sed 是很有用(但常被遗忘)的 unix 流编辑器.在以批处理方式编辑文件或以有效方式创建 shell 脚本来修改现有文件方面,它是十分理想的工具.本文是 前一篇介绍 sed 文章的续篇.

【程序编程相关:清除CISCO路由器密码

替换! 【推荐阅读:iptables 中文手册

$ sed -e s/foo/bar/ myfile.txt

上面的命令将 myfile.txt 中每行第一次出现的 foo(如果有的话)用字符串 bar 替换,然后将该文件内容输出到标准输出.请注意,我说的是 每行第一次出现,尽管这通常不是您想要的.在进行字符串替换时,通常想执行全局替换.也就是说,要替换每行中的 所有出现,如下所示: 【扩展信息:redhat linux8.1beta2

让我们看一下 sed 最有用的命令之一,替换命令.使用该命令,可以将特定字符串或匹配的规则表达式用另一个字符串替换.下面是该命令最基本用法的示例:

$ sed -e s/foo/bar/g myfile.txt

在最后一个斜杠之后附加的 g 选项告诉 sed 执行全局替换.

关于 s/// 替换命令,还有其它几件要了解的事.首先,它是一个命令,并且只是一个命令,在所有上例中都没有指定地址.这意味着,s/// 还可以与地址一起使用来控制要将命令应用到哪些行,如下所示:

$ sed -e 1,10s/enchantment/entrapment/g myfile2.txt

上例将导致用短语 entrapment 替换所有出现的短语 enchantment,但是只在第一到第十行(包括这两行)上这样做.

$ sed -e /^$/,/^end/s/hills/mountains/g myfile3.txt

该例将用 mountains 替换 hills,但是,只从空行开始,到以三个字符 end 开始的行结束(包括这两行)的文本块上这样做.

关于 s/// 命令的另一个妙处是 / 分隔符有许多替换选项.如果正在执行字符串替换,并且规则表达式或替换字符串中有许多斜杠,则可以通过在 s 之后指定一个不同的字符来更改分隔符.例如,下例将把所有出现的 /usr/local 替换成 /usr:

$ sed -e s:/usr/local:/usr:g mylist.txt

在该例中,使用冒号作为分隔符.如果需要在规则表达式中指定分隔符字符,可以在它前面加入反斜杠.

规则表达式混乱

目前为止,我们只执行了简单的字符串替换.虽然这很方便,但是我们还可以匹配规则表达式.例如,以下 sed 命令将匹配从 < 开始.到 > 结束.并且在其中包含任意数量字符的短语.下例将删除该短语(用空字符串替换):

$ sed -e s/<.*>//g myfile.html

这是要从文件除去 html 标记的第一个很好的 sed 脚本尝试,但是由于规则表达式的特有规则,它不会很好地工作.原因何在?当 sed 试图在行中匹配规则表达式时,它要在行中查找 最长的匹配.
...   下一页

 ·疯狂喜欢上georgia字体    »显示摘要«
    摘要:自从wingzhong改用这种字体后就狂喜欢上,把vs.net编辑器的字体也改成georgia字体,前几天还为找一个合适的字体而烦恼,发现它中英混用的效果还是蛮不错的.不过就是有点0o不分,现在把linux也改成georgia效果也很好cp /mnt/c/windows/fonts/georgia* /usr/share/fonts/zh-cn/turetype/fc-cache -fv然后到首选......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE