阅 读 文 章

这个shell script 怎么写?

[来源:网上转载 (http://www.chinaunix.net) | 作者:网友(shirley) | 时间:2007-05-27 | 浏览:人次 ]


想写这么一个shell script, 找出一个文件比如test中出现hello的次数。
请大家帮帮忙,我还没想出来。



 mygod 回复于:2002-01-29 11:13:59

小弟有一计,不知可否:
awk '/hello/{print $0}' test > test1
awk  'BEGIN{FS='\n';OFS=''}{print $0}' test1 > test2
sed 's/$/aaa/' test2 > test3
awk 'BEGIN{FS='hello';OFS='\n';}' test3 > test4
length=`cat test3 | wc -l`
length=`length - 1`



 shirley 回复于:2002-01-29 11:38:21

执行了一下,有语法错误。我再仔细看看。
看的出来,阁下的shell水平很高。
或许命令awk的使用是关键,这个我不很熟,需要恶补一下。


 mygod 回复于:2002-01-29 11:46:58

可能是最后一句有错,我的意思是将length的值减去1,可能写法不对


 shirley 回复于:2002-01-29 11:57:01

好象第一行执行就有错。可能是分隔符闹的吧。
最后一句确实不对,应该是:
length=`expr $length - 1`


 mygod 回复于:2002-01-29 12:31:39

/hello/和{print $0}之间应当有空格,程序的思路大体是这样:
首先,将文件中所有包含'hello'的行输出到test1中,然后将文件的所有行连成一行输出到test2,这样test2就变成了只有一行的文件,然后为了避免文件的最后一个单词是'hello'造成边界问题,在test2的最后加上'aaa',输出到test3,然后以'hello'为分割符,回车为输出的分割符将内容输出到test4,这样文件中有多少个'hello'就会有多少个回车,也就是有多少行,当然最后别忘了减一


 feeling 回复于:2002-01-29 14:23:43

[这个贴子最后由feeling在 2002/01/29 03:47pm 编辑]

赋值语句可以直接用 let length=$length-1



 shirley 回复于:2002-01-29 14:43:03

引用:下面引用由[u]feeling[/u]在 2002/01/29 02:23pm 发表的内容:
赋值语句可以直接用 $length=$length-1 或者 let length=$length-1


你这指的是什么shell呀。据我所知,B SHELL和K SHELL是不能这样写的。


 feeling 回复于:2002-01-29 15:43:52

[这个贴子最后由feeling在 2002/01/29 03:48pm 编辑]

写错了一点,已经修改。
在K Shell 下调试通过


 mygod 回复于:2002-01-29 17:08:28

请大家开动脑筋,看看还有没有其他方法


 梦叮咚 回复于:2002-01-29 17:18:57

我刚学shell,不过觉得上例有些烦琐,用c shell会不会简单一些.

不是很懂,只是提个想法.


 feeling 回复于:2002-01-29 18:09:06

如果只是想知道个数的话,可以简单地在vi模式用查找、替换命令来得到。


 cpss 回复于:2002-01-29 20:01:42

这样写行不行:
number=`more test|tr 'hello'|wc -w`  #计算以hello为界限拔test分为几部分
number=`expr $number - 1`  #上面的办法会多计上一个,所以这里减掉一。


 mygod 回复于:2002-01-30 10:13:10

[这个贴子最后由mygod在 2002/01/30 10:15am 编辑]
论坛热门帖子: [lch203] 写得蛮好的linux学习笔记(10-21)
[黑马制造] 学习java的30个目标(10-19)
[笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19)
[udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18)
[沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18)
TAG标签: 怎么 这个 回复 hello 一个 awk sed 这样 发表 引用 mygod

最新评论 共有0位网友发表了评论

发表评论

评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名:(注册)
密码:
验证码:
匿名发表

网站地图友情连接交流论坛网站投稿广告服务联系我们留言本站长统计
Some rights reserved: www.chmhome.com, 鄂ICP备07010232号 E-mail:chinakafei@live.com,QQ:552766
中国咖啡技术网(Chmhome):国外编程技术书籍,中文编程手册,经典编程文章,交流技术,技术软件下载,计算机论文,毕业论文.