当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: 通用线程 -- sed 实例,第 3 部分 转载自:IBM
 

 

 ·sed 实例,第 1 部分    »显示摘要«
    摘要:sed 实例,第 1 部分通用线程 -- sed 实例,第 1 部分 转载自:ibm developerworks 中国网站在本文章系列中,daniel robbins 将为您演示如何使用功能十分强大(但常被遗忘)的 unix 流编辑器 sed。sed 是用批处理方式编辑文件或以十分有效的方式创建 shell 脚本以修改现有文件的理想工具。挑选编辑器在 unix 世界中有很多文本编辑器可供我们选择......
    摘要:可以复习一下xargs的用法,和变量的一些高级操作技巧 如何批量把若干文件从一个扩展名改为另一个扩展名?比如把后缀gz,改为zip答:1.for file in *.gz; do mv $file `basename $file .gz`.zip; done 或(也适合ksh) for file in *.gz; do mv $file $.zip; done2.ls | grep gz | aw......


sed 实例,第 3 部分
通用线程 -- sed 实例,第 3 部分

        【程序编程相关:GNOME Splash Contest

【推荐阅读:使用 SQL_TRACE 工具来查询SQ

    转载自:ibm developerworks 中国网站 【扩展信息:2005-4-6 Linux新闻与流言

在这篇 sed 系列的总结性文章中,daniel robbins 带您体验 sed 的真正力量.在介绍完几个重要的 sed 脚本之后,他将通过将一个 quicken .qif 文件转换成可读文本格式来演示一些基本 sed 脚本的编写.该转换脚本不仅实用,而且还是展现 sed 脚本编写能力的极佳示例.

强健的 sed

在第二篇 sed 文章中,我提供了一些示例来演示 sed 的工作原理,但是它们当中很少有示例能实际做特别有用的事.在这篇 sed 系列的最后文章中,我要改变那种方式,并使用 sed 来做实际的事.我将为您显示几个示例,它们不仅演示 sed 的能力,而且还做一些真正巧妙(与方便)的事.例如,在本文的后半部,将为您演示如何设计一个 sed 脚本来将 .qif 文件从 intuit 的 quicken 金融程序转换成具有良好格式的文本文件.在那样做之前,我们将看一下不怎么复杂但却很有用的 sed 脚本.

文本转换

第一个实际脚本将 unix 风格的文本转换成 dos/windows 格式.您可能知道,基于 dos/windows 的文本文件在每一行末尾有一个 cr(回车)与 lf(换行),而 unix 文本只有一个换行.有时可能需要将某些 unix 文本移至 windows 系统,该脚本将为您执行必需的格式转换.

$ sed -e s/$/r/ myunix.txt > mydos.txt

在该脚本中,$ 规则表达式将与行的末尾匹配,而 r 告诉 sed 在其之前插入一个回车.在换行之前插入回车,立即,每一行就以 cr/lf 结束.请注意,仅当使用 gnu sed 3.02.80 或以后的版本时,才会用 cr 替换 r.如果还没有安装 gnu sed 3.02.80,请在我的第一篇 sed 文章中查看如何这样做的说明.

我已记不清有多少次在下载一些示例脚本或 c 代码之后,却发现它是 dos/windows 格式.虽然很多程序不在乎 dos/windows 格式的 cr/lf 文本文件,但是有几个程序却在乎 -- 最著名的是 bash,只要一遇到回车,它就会出问题.以下 sed 调用将把 dos/windows 格式的文本转换成可信赖的 unix 格式:

$ sed -e s/.$// mydos.txt > myunix.txt

该脚本的工作原理很简单:替代规则表达式与一行的最末字符匹配,而该字符恰好就是回车.我们用空字符替换它,从而将其从输出中彻底删除.如果使用该脚本并注意到已经删除了输出中每行的最末字符,那么,您就指定了已经是 unix 格式的文本文件.也就没必要那样做了!

反转行

下面是另一个方便的小脚本.与大多数 linux 发行版中包括的 "tac" 命令一样,该脚本将反转文件中行的次序.
...   下一页
 ·vi命令行小型字典!    »显示摘要«
    摘要:有刚开始使用vi的时候肯定是记不住那么多命令的,不过没关系,可以慢慢来,先放起来,随时可以找到嘛...所謂的命令列或命令模式,就是在最下面一行沒有顯示『--insert--』或者『--replace--』字樣的時候。通常在命令列中的指令有下面幾種:(注意,當按下『:』 時,游標會自動移動到螢幕的最下面一行!)   一般模式:移動游標h 或 向左方向鍵游標向左移動一個字元j 或 向下方向鍵游標向下移......
» 本期热门文章:

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