当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 14 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 用bash脚本做统计学作业--第一个Linux Shell脚本
帖子发表于 : 2008-03-13 2:59 
头像

注册: 2007-09-29 3:09
帖子: 5773
送出感谢: 0 次
接收感谢: 3
无聊了,那天没去上课,然后又要做作业...作业要求用excel...我机上没有excel,用OOo的电子表格捣鼓了一个晚上,最后还要保存成xsl格式...
然后最近在看脚本,就写出这么个东西来,原发我的校内主页...但人迹罕至...所以贴到这里,看高手们还有什么更好的建议,不断学习中~~~


3月4日统计学作业~~课本60页习题第4题的(1)、(2)小题~~~

解题过程如下(实践证明:linux的shell太强大了~~~)

原始数据(表2.24):灯泡使用寿命测试结果(单位:小时)
我把那些数据输入到了statistics...
代码:
hunt@bubble:~/Desktop$ cat statistics
700 716 728 719 685 709 691 684 705 718 706 715 712 722 691 708 690 692 707 701 708 729 694 681 695 685 706 661 735 665 668 710 693 697 674 658 698 666 696 698 706 692 691 747 699 682 698 700 710 722 694 690 736 689 696 651 673 749 708 727 688 689 683 685 702 741 698 713 676 702 701 671 718 707 683 717 733 712 683 692 693 697 664 681 721 720 677 679 695 691 713 699 725 726 704 729 703 696 717 688


(1)把这堆数据进行排序;
(2)以组距为10进行等距分组,整理成频数分布表,并绘制直方图。


然后写了这么个bash脚本:

代码:
hunt@bubble:~/Desktop$ cat tongji
#!/bin/bash

for num in $(strings $1)
        do
                echo    $num>>temp0
                let     t=$num/10
                echo    $t>>temp1
        done

sort -n temp0>>result
sort -n temp1|uniq -c>>temp2

echo    '组次     频数'>>result

cat temp2|

while read line
        do
                t=${line:2}
                let     t*=10
                low=$t
                let     high=$low+10
                echo    $low~$high      ${line:0:2}>>result
        done

rm -rf temp[012]

exit 0


然后:

代码:
hunt@bubble:~/Desktop$ ./tongji statistics


结果如下:

代码:
hunt@bubble:~/Desktop$ cat result
651
658
661
664
665
666
668
671
673
674
676
677
679
681
681
682
683
683
683
684
685
685
685
688
688
689
689
690
690
691
691
691
691
692
692
692
693
693
694
694
695
695
696
696
696
697
697
698
698
698
698
699
699
700
700
701
701
702
702
703
704
705
706
706
706
707
707
708
708
708
709
710
710
712
712
713
713
715
716
717
717
718
718
719
720
721
722
722
725
726
727
728
729
729
733
735
736
741
747
749
组次     频数
650~660 2
660~670 5
670~680 6
680~690 14
690~700 26
700~710 18
710~720 13
720~730 10
730~740 3
740~750 3


成功证明:电脑是给人使用的工具...从此爱上统计学...

问题是...如果我把那个脚本直接发给统计学老师他知不知道是什么...信息学院的喔...

为什么非得要用excel来做作业,题目是给人想方法解的,又不是让人找工具解的...

重要的是思想...还有一颗开源的心~~~


页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2008-03-13 3:12 
头像

注册: 2007-09-29 3:09
帖子: 5773
送出感谢: 0 次
接收感谢: 3
代码:
hunt@bubble:~/Desktop$ date +%T.%N;./tongji statistics;date +%T.%N
03:20:30.925365630
03:20:31.265498692


0.34秒100个数据...
在excel里要好多公式...

多次测试,发现平均时间在0.2秒左右...

excel里光用鼠标点个单元格都不止这么久吧...


最后由 HuntXu 编辑于 2008-03-13 3:26,总共编辑了 1 次

页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2008-03-13 3:19 
头像

注册: 2007-09-29 3:09
帖子: 5773
送出感谢: 0 次
接收感谢: 3
觉得中间用的缓存是不是多了点...
希望高手们给点意见...


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2008-03-13 3:24 
头像

注册: 2007-11-22 10:20
帖子: 3406
地址: 北京
送出感谢: 0 次
接收感谢: 1
玩不了这个──就是写论文必须要word的比较接受不了。有一个老师一定要我交word的,我争了半天才让我交PDF的了──最后给我60分──我帮人写的那个得了92分。

相当多老师──恨恨地说的话:没有本事才会做……说不严密,还是不说了。


_________________
lenovo Thinkpad R60i 0657 LHC
windowsXP……准备换回ubuntu了。

Twitter: @carbont


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2008-03-13 3:26 
头像

注册: 2007-11-22 10:20
帖子: 3406
地址: 北京
送出感谢: 0 次
接收感谢: 1
那个──我是灌水滴~~~~


_________________
lenovo Thinkpad R60i 0657 LHC
windowsXP……准备换回ubuntu了。

Twitter: @carbont


页首
 用户资料  
 
6 楼 
 文章标题 :
帖子发表于 : 2008-03-13 3:32 
头像

注册: 2007-09-29 3:09
帖子: 5773
送出感谢: 0 次
接收感谢: 3
carbont
难怪你比我晚注册文章数多那么多... :shock:


页首
 用户资料  
 
7 楼 
 文章标题 :
帖子发表于 : 2008-03-13 17:35 
头像

注册: 2007-11-19 11:21
帖子: 310
地址: 广东,东莞,来自www.58zn.cn魅力linux
送出感谢: 0 次
接收感谢: 0 次
楼主!能不能帮我做个福利彩票双色球的开奖统计并预测的脚本?开奖号码数据可由我自己填上去!谢了!


_________________
我的博客网站http://www.58zn.cn魅力Linux


页首
 用户资料  
 
8 楼 
 文章标题 :
帖子发表于 : 2008-03-13 17:46 
头像

注册: 2007-11-19 21:51
帖子: 6956
地址: 成都
送出感谢: 0 次
接收感谢: 4
貌似比excel快,不过lz还得自己写脚本。。。


页首
 用户资料  
 
9 楼 
 文章标题 :
帖子发表于 : 2008-03-13 17:48 
头像

注册: 2007-04-28 21:38
帖子: 1026
送出感谢: 0 次
接收感谢: 0 次
要把写脚本和调试的时间也算进去啊。。。
其实也不少了


_________________
thinkpad x61 2G DDR no cdrom
--------------------------------------------
ABS学习中
sed学习中
awk学习中
perl学习中
新手描述不清,老手猜测不到,胡乱指挥一通,后果难以预料


页首
 用户资料  
 
10 楼 
 文章标题 :
帖子发表于 : 2008-03-13 17:50 

注册: 2007-10-20 20:15
帖子: 178
送出感谢: 0 次
接收感谢: 0 次
居然有统计学要求用Excel的.......


_________________
Portage 2.1.4.4 (default-linux/x86/2007.0/desktop, gcc-4.2.3, glibc-2.7-r1,
System uname: 2.6.24-gentoo-r3 i686 Intel(R) Celeron(R) M processor 1.30GHz


页首
 用户资料  
 
11 楼 
 文章标题 :
帖子发表于 : 2008-03-14 14:09 
头像

注册: 2007-09-29 3:09
帖子: 5773
送出感谢: 0 次
接收感谢: 3
xiooli 写道:
貌似比excel快,不过lz还得自己写脚本。。。

aitilang 写道:
要把写脚本和调试的时间也算进去啊。。。
其实也不少了


这是第一个脚本...差不多就是我在excel输入公式的时间写出来的...
不过以后会越来越快不可否认吧~


页首
 用户资料  
 
12 楼 
 文章标题 :
帖子发表于 : 2008-03-14 14:30 
头像

注册: 2007-10-19 14:51
帖子: 4953
地址: 深圳
送出感谢: 0 次
接收感谢: 2
:D 支持楼主


_________________
Nothing 有事请发邮件到 yms541 AT gmail.com
alias 爱慕颇雷尔='mplayer'


页首
 用户资料  
 
13 楼 
 文章标题 :
帖子发表于 : 2008-03-14 15:08 
头像

注册: 2006-04-12 20:05
帖子: 8495
地址: 杭州
送出感谢: 0 次
接收感谢: 8
LZ,计算脚本执行的时间,要用 time .

time ./tongji statistics

即可.
执行 date命令也是需要时间的啊.


_________________
关注我的blog: ε==3


页首
 用户资料  
 
14 楼 
 文章标题 :
帖子发表于 : 2008-03-14 17:21 

注册: 2007-04-20 17:47
帖子: 11
送出感谢: 0 次
接收感谢: 0 次
看了,你们的争论,我想起一个问道:
你们说奔驰车和拖拉机去走山路那个快呢?


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 14 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译