- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
UNIX简单技巧(文本处理)
UNIX简单技巧 (文本处理) 主题: 抛砖引玉 日期: 2001年8月7日 03:20 大家好: 最近几天一直和各种文本打交道,处理数据,把各个文件倒来倒去。有一些感想和战友们交流一下。其实有时是很“简单”的方法或已经有的系统工具,我们“想不起来”了,或没有注意到。前几周和大牛聊,他谈起一个unix命令comm,我以前没注意到(真是孤陋寡闻),后来发现真是很好用,因此我也想我有什么可以和大家交流的?今天我翻来覆去干了一天活,就用了几个命令 grep wc cat awk(nawk) comm head vi sort ftp 好了,现在开始抛砖吧,希望能引来玉,而不是 .... :) 1、先想起了回车/换行符。咱们经常把文件传来传去,拷来拷去,一不小心就碰一下。我就亲眼看见开发部的一个老兄用ftp的方式来对付那可恶的^M !我跟他说,不是有一个unxi命令吗: dos2unix originalfile convertedfile 如果碰上汉字或怪字符,可能会出错,这样试试(我那天就没想到,结果又试别的方法了): dos2unix -ascii originalfile convertedfile 或者用vi试试: :1,$s/^M// (从第1行到最后1行把 ^M替换成“没有”,^M = Ctl-M,输入时按键Ctl-v-m) 如果不幸有多个^M在一行里,前面的需保留(这么古怪的文本?) :1,$s/^M$// (从第1行到最后1行把 “^M和结尾”替换成“没有”) 我相信sed也能做,不过我没用过,哪位告诉我?谢谢! 不过vi不能打开太大的文件(40多M?),用awk吧(有时awk不稳定?用nawk好点),但下面的写法是错的: cat infile | nawk -F^M {print $1} outfile 因为你不知道一行里有多少^M,但并不是行末的那个。我见过这样的正确写法: cat infile | awk {i=length($1)-1;print substr($1,0,i)} outfile 哦,够复杂了,先到这儿吧。 2、ftp,除了前面说的驱除“^M”的功能以外,我最近学的有(可能大家早都知道了,呵呵): ftpprompt [off] 关掉交互模式,这样在后面的mget 或mput时省得ftp总来问你yes/no ftphash 打开进度条模式,这样在传大文件时你就不会看到程序半天没反应了(是不是死掉啦?)。我第一次看到#在跑时,心里说怎么这么酷哇。 ftp脚本: #!/bin/csh cd /home/ftpbill/billing ftp -n xxx.xxx.xxx.xxx ! user name pasword cd /home/bill1/bill1 put xxxx ... quit ! ... (other code) 注意两点,(1)ftp的参数 -n,不这样写登录不了。(2)符号“!”表示到“!”为止是ftp的脚本,“!”也可以是整个shell脚本里不发生歧义和冲突的任何字符串。 3、vi,vi太复杂了,我只了解很少,你打入这个命令就知道了(而且不是全部的设置) :set all (1)在我的home目录下建了一个文件 .exrc,vi运行时会首先读这个文件里的配置。我这样写: set showmode (打开提示模式) set noai (禁止自动缩进,vi缩进时用tab符,我不喜欢tab符,它让我的同一个程序在不同的机器上看起来很不一样) map z 8i ^[l (在命令状态下,把键z解释为“插入8个空格,ESC(Ctl-[)回到命令状态,右移光标”,象不象一个“tab”?) ab Ii ^H ^H (在输入状态下,把字符串“Ii空格”替换为“引号,退格,7个空格,引号,退格,空格”,象不象一个“tab”?) 这样写程序感觉很方便。上面的“^”实际上是Ctrl,“^X”在输入的时候按键“Ctrl-v-x”。 (2)vi有三种模式: 命令模式,就是一进vi,或按ESC后的状态; 输入状态,由命令
文档评论(0)