网站大量收购独家精品文档,联系QQ:2885784924

grep软件在编辑与编务工作中应用.docVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
grep软件在编辑与编务工作中应用

grep软件在编辑与编务工作中应用   在编辑与编务工作中,如果能灵活运用各种软件,就会显著提高效率。下面介绍一下grep软件在这方面的应用。   grep本是UNIX/Linux中的命令行程序(类似于DOS程序),现在有多个Windows版本。它能够利用称为“正则表达式”的技术,输出文件中具有某种规律(或称模式)的文本行。这种规律可以是一个简单的字符串,如“111”或 “computer”表示含有“111”或“computer”的行;也可以是复杂的字符串,如“1.3”可以匹配含有113,123,1_3(即在1和3之间有任意一个字符)的行,因为“.”表示匹配任意单个字符;而“12*3”可以匹配含有13,123,1223,12223(即在1和3之间有任意个2)的行,此处“*”表示“零个或多个前面的单个字符或字符组合”。   一、快速剔除书目中的三级标题   有一批教材(70多本)的目录保存在同一个纯文本文件C:\contents.txt中,现在要利用该文件制作一份书目。图书目录一般都有三级标题,而在制作书目时,只需要一级和二级标题。该文件中,标题前面没有空行。三级标题序号的形式有三种,第一种形如“1.1.1”,即数字之间有一个英文句号;第二种形式如“1  1  1”,即数字之间有一个很宽的空格;第三种形式如“1.2.1”,即数字之间有一个英文句号紧跟一个空格。章号和节号最多可能为两位数,高位均不为零,而小节号只有一位数,不可能为零。如果删掉以这三种形式开头的文本行,也就完成了剔除三级标题的工作。   这个工作很难用Word完成,手工处理又相当耗时。而使用grep软件就可以快速达到目的。   上述三级标题序号的第一种形式可以表示为“一个或两个数字之后紧跟一个英文句号再紧跟一个或两个数字再紧跟一个英文句号再紧跟一个数字”。而经过分析,第二种形式中的“很宽的空格”与第三种形式中的“一个英文句号紧跟一个空格”实际上都是两个“不可打印的”字符,因此后两种形式可以用同一种模式表示,即“一个或两个数字之后紧跟两个不可打印的字符再紧跟一个或两个数字再紧跟两个不可打印的字符再紧跟一个数字”。而每个标题各占一行,便于使用grep软件。了解了这些信息,就可以使用grep软件剔除三级标题了。   ???先要下载grep。grep包含在名为CygwinPortable的软件包中,可以在浏览器中输入以下链接下载该软件:   http://cdnetworks-kr-1.dl.省略/project/cygwinportable/cygwinportable/CygwinPortable%200.2/CygwinPortable-0.2.zip   解压后进入其文件夹,双击其中的CygwinPortable.exe图标,会出现一个类似于DOS窗口的界面,在其中可以输入很多命令,包括grep。   grep的命令格式如下:   $ grep'匹配模式'原始文件   匹配模式前后均有空格,并且要加上单引号。模式内部不能有空格(除非要匹配空格)。匹配后的结果将输出到屏幕上。“$”是显示在屏幕上的提示符,不必输入。原始文件的内容不受影响。   例如,书目中每本书的书号都是一个五位的数字,且单独放在一行,前面没有空格。要输出这些书号,则可以输入以下命令:   $ grep'^[0-9]\{5\}'contents.txt   按下回车键,屏幕上将输出所有书号,每行一个。“^”出现在匹配模式的开头,表示从文本行的开头进行模式匹配。如果漏掉这个符号,则会输出所有包括五位数字的行(如某行文字中含有“80486”,则该行也会输出)。方括号表示匹配字符列表中的任意一个字符,如[0-9]表示匹配任意一个阿拉伯数字,而[a-zA-Z]表示匹配任意一个大写或小写英文字母。\{n\}表示欲匹配字符的个数,此处为5。   若不希望输出匹配某个模式的文本行,例如要删除所有书号,则可在模式前加入-v选项,即:   $ grep -v'^[0-9]\{5\}'contents.txt   将输出不带书号的目录。   通常,输出结果需要进一步处理,因此应将其用“”保存在文件中,命令格式如下:   $ grep'匹配模式'原始文件 结果文件   例如   $ grep'^[0-9]\{5\}'contents.txt result.txt   即可将所有书号保存在result.txt文件中,每个书号一行。若result.txt已经存在,则以前的内容将全被删掉。结果文件名称前如不加路径,则表示保存在当前路径。   下面只要用两步操作就可以完成书目处理。   (1)执行如下命令:   $ cd c:   $ grep -v'^[1-9][0-9]*[^[:print:]]\{2\}[1-9][0

文档评论(0)

317960162 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档