免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12345下一页
最近访问板块 发新帖
查看: 8771 | 回复: 45
打印 上一主题 下一主题

虚心求教(如何逐个读取字符) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-08-10 20:47 |只看该作者 |倒序浏览
昨天去一家网络公司面试,出了个题是要写个shell脚本,要统计出一个文件中出现的hello字符串的个数.
我的理解是:这样应该要逐个单词读取,就象C语言里有个读区字符串的函数一样,但是SHELL能实现这样的功能吗?
我百思不得其解,请哪位老大解答下

谢谢

论坛徽章:
0
2 [报告]
发表于 2006-08-10 21:02 |只看该作者
grep -o hello urfile | wc -l

论坛徽章:
0
3 [报告]
发表于 2006-08-10 21:18 |只看该作者
awk '/hello/ { n=n+1}END {print n}' urfile

论坛徽章:
0
4 [报告]
发表于 2006-08-10 21:18 |只看该作者
  1. awk '/hello/{i=i+1};EMD{print $i} u_file
复制代码


没测试。

论坛徽章:
0
5 [报告]
发表于 2006-08-10 21:37 |只看该作者
原帖由 4Aiur 于 2006-8-10 21:02 发表
grep -o hello urfile | wc -l

二楼的简单易用,赞一个先

论坛徽章:
0
6 [报告]
发表于 2006-08-10 21:53 |只看该作者
但是 -o这个参数 不一定所有机器上都行哦

论坛徽章:
0
7 [报告]
发表于 2006-08-10 22:35 |只看该作者
用 awk ,过了哦 !
就grep 就好了,资源消耗少,运行速度快,因为,你的awk是逐行匹配选择field的 ,肯定远远逊于
人家 grep ...... 而且你还设了外部变量
呵呵!

论坛徽章:
0
8 [报告]
发表于 2006-08-11 10:07 |只看该作者
grep -c "hello" file

论坛徽章:
0
9 [报告]
发表于 2006-08-11 10:11 |只看该作者
awk 'BEGIN{RS=hello}END{print NR}'

没测试

论坛徽章:
0
10 [报告]
发表于 2006-08-11 10:17 |只看该作者
原帖由 webyuhang 于 2006-8-11 10:07 发表
grep -c "hello" file

-c计算的是行数吧,如果有
hello
helloahello
-c统计的应该是2
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP