免费注册 查看新帖 |

Chinaunix

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

[shell] 帮忙看看这个脚本 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-06-05 14:40 |只看该作者 |倒序浏览
在学些shell,学写了一个小脚本,可是执行脚本后没有任何反应,请朋友们帮忙看看,最好附带解释说明谢谢。


#!/bin/bash

#定义学生信息数组

student[1]="Q Cai-English-1984-Jiangsu-7"
student[2]="Z Wu-Computer-1982-Jiangsu-9"
student[3]="H Huan-Transportaiton-1978-Anhui-9"
student[4]="K Song-Chemistry-1982-Shanghai-4"
student[5]="Y Gao-Physical-1981-Hubei-3"
student[6]="L Li-Architecture-1977-Guangdong-7"
student[7]="N Tang-Computer-1983-Jiangsu-9"

awk -F -  '{student[$2]++} END {for(i in student)print i,student[i]}'
                                                                       
就是统计出每个专业的人数有多少?就是$2域。

我觉的问题会不会产生在 : shell中间调用awk变量传递的问题呢? 看了些资料也晕晕的。求解释。呵呵

论坛徽章:
0
2 [报告]
发表于 2012-06-05 14:46 |只看该作者
你开始定义的数组和awk完全没有关系,你执行awk的时候 需要你输入文件名~~,所以没反应

论坛徽章:
0
3 [报告]
发表于 2012-06-05 16:15 |只看该作者
回复 2# 英语盲学linux


那这个要如何修改呢?

论坛徽章:
0
4 [报告]
发表于 2012-06-05 16:22 |只看该作者
回复 3# bluesmile11

把需要分析的内容写到一个file
   

论坛徽章:
0
5 [报告]
发表于 2012-06-05 17:36 |只看该作者
回复 4# 英语盲学linux



那么awk这部分该如何写呢?
谢谢啦
   

论坛徽章:
0
6 [报告]
发表于 2012-06-05 17:45 |只看该作者
回复 1# bluesmile11


      这个我会,吼吼
文件里这样写
  1. Q Cai-English-1984-Jiangsu-7
  2. Z Wu-Computer-1982-Jiangsu-9
  3. H Huan-Transportaiton-1978-Anhui-9
  4. K Song-Chemistry-1982-Shanghai-4
  5. Y Gao-Physical-1981-Hubei-3
  6. L Li-Architecture-1977-Guangdong-7
  7. N Tang-Computer-1983-Jiangsu-9
复制代码
awk 代码  不需要改变的

论坛徽章:
0
7 [报告]
发表于 2012-06-05 20:07 |只看该作者
将你要统计的内容写入一个file,然后将语句改为awk -F -  '{student[$2]++} END {for(i in student)print i,student}'
  file //文件名回复 1# bluesmile11


   

论坛徽章:
0
8 [报告]
发表于 2012-06-06 11:40 |只看该作者
谢谢朋友们了,我学习学习
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP