请问一下fx*tp;yii model count->m_count[0]

阿里巴巴马云:最怕别人把我看成圣人和教父.cn& 日 02:39& 21世纪经济报道[ 微博 ]  侯继勇
  10年间,坐观西子湖,马云却永远心潮澎湃。从一名教师、翻译,到全球市值最大电子商务公司的领袖,他是无数创业青年心中的“偶像”。
  但10年后的当下,坐在记者对面的他却用全力要打碎这个“偶像”的幻境。“我不知道创业教父是什么东西,也从来没有想过做创业教父!”阿里巴巴集团主席兼CEO马云大声说。
  企业的成功靠的是什么,通常的解答是企业领袖的远见,技术、管理的创新;而马云将个人的成功归结于这个时代。“是我的同事,是这个时代,是中国互联网的高速发展,给了我成功的机会,并不是每个人遇到这些东西,靠机缘,甚至运气。”
  马云说,一个人有他的时代,有他的环境,只有在这样的时代,才有这样的成功,创业者不能重走别人的路。
  “我跟所有人一样,一开始榜样是比尔·盖茨、李嘉诚。后来发现他们不是的榜样,没法学习,太大太强。真正的榜样一定在你附近,你做小饭馆,榜样就是斜对面的小饭馆,他为什么门口排队而我们家服务员比客户多?他是你的榜样。”
  马云认为,“失去榜样的一代”,一定比“自己这一代”更强:“我爷爷认为我父亲不如他,你父亲认为我不如他,事实却是一代比一代强。我20岁的时候,提不出今天的90后提出的问题,他们更强,能做更大的事业。社会正因此而进步。”
  “上一代人都会告诉下一代,我们比你们这一代难多了。结果是每一代人都超过了上一代。”他的不经意回答,仿佛打开了10年的坎坷成败后的心结。
  平凡人不凡事
  《21世纪》:如果你现在一无所有,还是一个学生,你有信心说自己会成功,会成为未来的创业的教父吗?
  马云:我不知道创业教父是什么东西?我从来没有想做过创业教父。
  现在我各方面的能力都比十年以前的我强得多,假如我再回到十年以前,按照今天的能力重新走一遍,我一定走不过来。很多天时地利人和的事情过去了。十年以前的我比现在刚毕业的大学生更糟糕,大学考了好几次,比我能干的人很多。
  这十年走下来,绝大部分的人犯的错误我也犯过,我自己也说不清楚为什么我能走出来,这是讲实话。不是我自己有多么能干,没有我的团队,没有这个时代,没有互联网,没有中国的改革开放,那什么都没有。
  我父亲跟我说过,早生20年我肯定给抓进去了;晚生20年,我会坐在这跟另外一个马云对话。时代给了我的机会。
  《21世纪》:你觉得自己是个传奇吗?
  马云:我挺喜欢听《传奇》这首歌,但我不是传奇,我是平凡的人。
  我最怕别人把我看成圣人、教父。晕了。我跟大家没什么区别,是淘宝和阿里巴巴给了我光环,不是我给淘宝、阿里巴巴、支付宝光环。是两万多名员工帮了我,不是我帮了他们。我跟每个人都一样。我经历了一个好的时代。
  《21世纪》:阿里巴巴创业的“十八罗汉”也是凡人?这些平凡人如何做成了不凡事?
  马云:其实就像我选择员工、员工选择我一样。选择什么样的员工?我选择平凡的人。什么是平凡的人?就是没把自己当精英的人。我不喜欢那些精英,精英眼睛都长在这(指着头顶)。这个世界没有一个人就可以做成的事,需要团队与配合。
  平凡的人有平凡的梦想,不是为社会主义奋斗终生、改变全人类,而就是买房、买车、娶老婆、生孩子,这是人最基本的梦想。这些梦想真实,为自己干,我觉得这样的员工我喜欢、实在。
  阿里巴巴创业十八人都是平凡的人,平凡的人在一起做一件不平凡的事。什么是伟大的事?伟大的事就是无数次平凡、重复、单调、枯燥的做同一件事情,就会成为伟大。我们相互影响,相互激励,一路走下去,一切就会变得不平凡。
  创业之痛与乐
  《21世纪》:现在社会不乏激情,但不足10%的创业成功率让人惶惑,怎么办?
  马云:创业其实是很艰辛的。我一方面鼓励大家创业,另一方面我想告诉大家一个很现实的问题:100个人创业95个人死掉,连声音都没听见。还有4个人,你是看着他们死的。最后剩下1个人,你看到他成功了。
  这个人很勤奋但未必是最勤奋的,这个人很努力很聪明,但未必是最努力最聪明的。有很多的机缘、有很多的因素使得他成功。
  创业者要永远去想,我是为五年以后十年以后创业,不是为今天。我希望大家既要有激情但更要有耐性。要有像兔子一样的速度,但要像乌龟一样有耐心。
  《21世纪》:很多创业者无法平衡自己的工作和家庭,你是怎么做的?
  马云:真正的创业者是平衡不了的。你如果选择了创业这条路,你就没办法想平衡。
  创业者应该做到把生活和工作融为一体,在里面获得乐趣。今天如果有谁说,我可以把工作和生活分的很开,我相信这是职业经理人,我也不相信他的企业会做的很好。
  我年轻的时候,最大的理想是早上在伦敦吃早饭,中午在巴黎吃午饭,晚上到布宜诺斯艾利斯沙滩上走走,觉得太美了。今天我觉得世界上最残酷的事情就是这样,我天天在飞,去日本早上去晚上就回来,回来赶会议,却也快乐。我也得到家人的支持,都已经适应了。
  《21世纪》:创业者面对许多诱惑,如何在永不放弃与选择放弃之间平衡?
  马云:要想成功一定要永不放弃,克服各种困难,但是你学会放弃的时候你才开始进步。假如这是一堵墙,你撞在墙上永不放弃的撞还是撞不过去,学会放弃退一步看一看,从边上绕过去。永不放弃的是使命感、价值观。
  中国式超越
  《21世纪》:热钱涌向电子商务,你觉得未来电子商务会朝一个什么样的方向发展?
  马云:我希望很多学生去看看中国本土的电子商务,其发展远远超过欧美。不管大家信不信,10年以后70%左右的商务都会以电子商务形式展开,这是时代的未来。
  美国电子商务发展比较艰难,尽管今天美国有的eBay、亚马逊等。美国整个传统商业的环境非常好,银行体系非常好,零售体系非常好,信用体系比较好,这使电子商务只是美国商务中的小小的补充而已。中国不同,由于整个商务环境,整个零售体系、物流体系、信息体系、诚信体系都比较糟糕,所以电子商务就有可能成为整个中国商务体系的主要框架。
  在中国,电子商务只是开始,他将重塑中国的整个商业环境,成为中国面向未来的核心竞争力。这就是后发优势。
  《21世纪》:十年前,你讲电子商务未来的时候,没人听得懂,觉得假大空,你如何说服你的同事坚持过来的?
  马云:我跟我同事讲话的时候,是希望唤醒他们心中的共鸣。我讲的也许是错的,但我相信我在讲的话。很多人演讲的话全是对的,但是他们自己不相信。忽悠跟不忽悠的区别是什么?忽悠是自己不相信让人家相信;真实是我相信,并相信你们慢慢也会相信。
  我们看到的是愿景,我是为未来工作,我绝不为今天工作。
  《21世纪》:中国的商业环境存在哪些问题?
  马云:今年发生了富士康事件、国美事件、360和腾讯事件。我们每个人在想什么呢?我们天天想的是打败竞争对手,整个社会非常浮躁。每个人都希望把自己的企业越来越强大,越来越大,越来越壮。
  我们的人都学会了埋怨,埋怨政府、埋怨体制、埋怨社会、埋怨没有机会,总是埋怨,而自己好像没有一点问题。
  我一直在思考一个问题,生态这样了,心态这样了,我们得不断地研究自己的姿态,每个人研究自己做事的方法。我相信心态不好,姿态一定不好,心态和姿态不好的话,整个生态是会越来越差。
  也许我们应该停下来做些事情,思考如何把自己的心态调整更好,如何把自己的姿态做的更好,如何保持商业的生态。比如互联网,就不是消灭谁,而是完善谁。
LR9系列安装报错解决(Setup has determined that a previous installation has not completed.)
在一个新的XP系统中装HP LoadRunner 9.10,点击安装后提示“Setup has determined that a previous installation has not completed.You should restart the system in order to complete this process.”
重启电脑后问题还存在,用网上下的deletelicense.exe和优化大师清处注册表信息也不行。 后来从网上找到一种可以解决的方法,那就是:
1. 打开临时文件夹,开始—&运行—&输入%temp%2. 找到“Prereq_Mgr.HP_LoadRunner_9.10.log”文件,这个文件记录着不能安装的原因。
我的这个日志文件记录在一个新的XP系统中装HP LoadRunner 9.10,点击安装后提示“Setup has determined that a previous installation has not completed.You should restart the system in order to complete this process.”
重启电脑后问题还存在,用网上下的deletelicense.exe和优化大师清处注册表信息也不行。 后来从网上找到一种可以解决的方法,那就是:
1. 打开临时文件夹,开始—&运行—&输入%temp%2. 找到“Prereq_Mgr.HP_LoadRunner_9.10.log”文件,这个文件记录着不能安装的原因。
我的这个日志文件记录如下:[04/23/09 12:58:31] INFO: (IsRebootRequired) The registry value [PendingFileRenameOperations] exists under [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager] and cannot be ignored
3、删除注册表项(如果要操作注册表,最好要把注册表备份好,防止误操作)把注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager下的项PendingFileRenameOperations删除。
再安装HP LoadRunner 9.10就可以正常安装了!如下:[04/23/09 12:58:31] INFO: (IsRebootRequired) The registry value [PendingFileRenameOperations] exists under [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager] and cannot be ignored
3、删除注册表项(如果要操作注册表,最好要把注册表备份好,防止误操作)把注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager下的项PendingFileRenameOperations删除。
再安装HP LoadRunner 9.10就可以正常安装了!&
LR/QTP 提示以前安装没有完成,要求重启的问题
之前朋友电脑安装过QTP,再次安装提示以下错误“安装程序已确定以前安装未完成。您应重新启动系统以便完成此过程”,便建议他清理下注册表,就可以了。
今天自己重装系统,再装QTP/LR时,也出现了类似的错误提示,郁闷了,C盘是完全格式化的,怎么也会有这样的提示呢...也没有论坛上提到的问题存在,为什么还是不行呢...再次清理所有临时文件和注册表,才成功安装。
总结如下:1、用优化大师清理注册表、历史文件记录和临时文件2、搜索注册表是否存在pendingoperation键值,若有,二话不说,删掉...3、重启电脑
打开注册表编辑器,在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Control\Session Manager中找到PendingFileRenameOperations项目,并删除它。这样就可以清除安装暂挂项目
注册表和文件都删除干净就应该能重装上。注册表中记得是第二,第三个文件夹中的software下都有qtp文件,必须都删了才行。
还有一个QTP卸载的清除工具:
&linux字符界面和图形界面切换1、硬盘安装的linux,在系统图形界面启动后,可使用Ctrl+Alt+F1~6切换到字符界面,再用Ctrl+Alt+F7切换到图形界面。对于使用虚拟机安装的linux,由于虚拟机屏蔽了Ctrl+Alt键,必须使用其他热键:Ctrl+Alt+shift+F1~6切换到字符界面;使用Alt+F7返回到图形界面。2、如果为了每次启动直接进入字符界面,则要修改etc/inittab文件,将启动级别由5改为3即可&1. 首先使用上面的方法进入到 grub启动的引导界面&& 使用Alt+F7返回到图形界面&& 注意,光标要进入到虚拟机中,否则点击键盘实际上没有对虚拟机起作用。忘记root密码后怎么办?之Redhat篇&&& && 1. 在出现grub画面时,用上下键选中你平时启动linux的那一项(别选dos哟),然后按e键& 2. 再次用上下键选中你平时启动linux的那一项(类似于kernel /boot/vmlinuz-2.4.18-14 ro root=LABEL=/),然后按e键& 3. 修改你现在见到的命令行,在相应的位置而不是末尾---加入single,结果如下:&& kernel /boot/vmlinuz-2.4.18-14 single ro root=LABEL=/& 4. 回车返回,然后按b键启动,即可直接进入linux命令行&&&& sh-2.05#&&&& 现在,你便可以改变根命令,键入:&&&&& bash# passwd root&&&& bash# jonathan&&&& bash# jonathan&&& &你会被要求重新键入口令来校验。结束后, 口令就会被改变,你便可以在提示下键入 reboot 来重新引导;然后,象平常一样登录为根用户。&&&&linux忘记root密码怎么办 linux字符界面和图形界面切换文章分类:操作系统Linux忘记root密码怎么办?&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 在机器启动到grub进行操作系统选择时,对于Redhat linux:用上下键将光标放在linux系统上,按“e”在有kernel那一行按“e”,输入“空格 single”,然后回车按“b”,启动,系统会自动进入单用户模式,使用passwd root命令,按提示输入新口令修改口令后,输入reboot 命令重启系统即可对于SUSE linux:先按"esc"键,从grub的图形界面转至字符界面然后,用上下键将光标放在linux系统上,按“e”在有kernel那一行按“e”,输入“空格 1”,然后回车按“B”启动,系统会自动进入“runlevel 1”。然后执行“passwd”,按提示输入新口令修改完口令后,输入reboot命令重启系统即可。linux字符界面和图形界面切换1、硬盘安装的linux,在系统图形界面启动后,可使用Ctrl+Alt+F1~6切换到字符界面,再用Ctrl+Alt+F7切换到图形界面。对于使用虚拟机安装的linux,由于虚拟机屏蔽了Ctrl+Alt键,必须使用其他热键:Ctrl+Alt+shift+F1~6切换到字符界面;使用Alt+F7返回到图形界面。2、如果为了每次启动直接进入字符界面,则要修改etc/inittab文件,将启动级别由5改为3即可&&忘记了以前用的ORACLE的用户和密码&& 该怎么办?问题补充:忘记的是登陆SQL*PLUS的用户和密码&*&&& #7楼 得分:1回复于: 20:08:49you can enter single mode or rescue mode mode to modify you root password, how to enter these mode please ask google or baidu.**&&& #8楼 得分:0回复于: 14:41:44一、按e键进入grub编辑模式二、选择RHEL(Elsmp)按e键进入编辑,并选择第二条含ro root选项进入编辑状态在ro后面输入single,后按enter键保存该条目后,按b键启动单用户模式三、进入单用户模式后,用passwd命令更改密码,更改完成后重启系统,正常启动后使用更改后的密码登录即可。
句点符号 . 是通配符 ,& * 零次或多次,+ 一次或多次,? 零次或一次,{n} 恰好n次,{n,m} 从n到m次要记住,老是拿*当通配符,实际是 句号 . 是通配符
package test.function.
public class RegTest {&&public static void main(String[] args) {&&& &&//Java中关于空格的正则表达式 &&&& &&& String str2 = "GET&&&&&&&&&&&& /index.html HTTP/1.1";& //字符串s由“GET”、“/index.html”和“HTTP/1.1”组成,中间有一个或多个空格 &&& String tt[] = str2.split(",}");&& //按照空格分割字符串,多个空格作为一个空格对字符串进行分割&&& for(String str: tt)//增强的for循环&&& System.out.println(str);//输出:GET&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //& /index.html&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //& HTTP/1.1&&&&&&&&& &&& &&& String qq = str2.replaceAll(" {2,}", " ");//把字符串s中的多个空格替换为一个空格&&& System.out.println(qq);//输出:GET /index.html HTTP/1.1 &&& System.out.println(str2);//输出:GET&&&&&&&&&&&& /index.html HTTP/1.1&&& &&& &&& // //split 按照空格分割字符串,多个空格作为一个空格对字符串进行分割&&& String strTest = "668947&& 18& &&&&&&&&&&&&&&& 0&&&&&&& 33&&&&&& 700198&& 2335821 " ;&&& String resSplit[] = strTest.split(",}")& ;&&& for(int j =0 ;j& resSplit.j++){&&&& System.out.println(resSplit[j]);&&& }&&& &&& &&& //句点符号 . 是通配符 ,& * 零次或多次,+ 一次或多次,? 零次或一次,{n} 恰好n次,{n,m} 从n到m次&&& String time = "dfda11:50:39" ;&&& if(time.matches(".*\\d{2}:\\d{2}:\\d{2}")){&&&& System.out.println("fu he");&& &&& }else{&& &&& System.out.println("bu fu he");&& &&& }&&& &&& // 不使用句点&&& String time2 = "dfda11:50:39" ;&&& if(time2.matches("}")){&&&& System.out.println("fu he");&& &&& }else{&& &&& System.out.println("bu fu he");&& &&& }&&&
要求监控informix数据库,一开始是用java分析所有的onstat结果数据,因为起初不了解怎么做好,慢慢有了思路,就转为全部用shell实现。
shell脚本及命令使用小结
1. awk的使用:
$ awk -F":" '{ print "username: " $1 "\t\tuid:" $3 }' /etc/passwd
说明:-F":"指定分隔符,为冒号,awk默认的分隔符是一个空格,"username: ","\t\tuid:",自定义,添加的字符串,
将awk取的值赋予变量:
&# echo aa bb cc | awk '{ print $3; }'&cc&# var=$(echo aa bb cc | awk '{ print $3; }')&#echo $var&cc======================================================================================================
2. sed 的使用
sed -n '2p' file& 说明:输出第二行onstat -p | sed -n '6p' | awk '{print $4 $8 }'& 说明:先用sed过滤行,然后用awk过滤自己指定的列onstat -p | sed -n '18,20p' & sed_result&&&&&& 说明:输出第18到第20行
sed有查找、替换、删除等功能:
1) 部分行的输出与删除&&注意: SED本身不改变原文件内容, 删除仅指不输出该部分,重定向输出为文件时,与原文件比为删除&&sed -n '2,5p' file1 : 仅输出文件file1的2-5行&&sed -e '2,5d' file1 : 将文件file1的2-5行删除&&sed -e '/^#/d' file1 : 将文件file1的以#开头的行删除&&sed -ne '/HELLO/p' file1 : 仅输出file1中含HELLO的行&&sed -ne '/BEGIN/,/END/p' file1 : 仅输出file1中BEGIN与END间的部分&&首先,匹配含BEGIN的行作为块首, 然后向后以第一次匹配的含END的行为块尾,输出该块各行&&如果, 没有匹配到BEGIN,则不输出; 如果只匹配到BEGIN,则输出从该行到文件尾的各行&&在匹配到BEGIN的行后面,匹配到END的前面含有的BEGIN当作一般行,仍以第一个BEGIN为块首&&一个文件中, 可能有好几个这样匹配的区域块,都要输出
2) 替换操作&&sed -e 's/foo/bar/' file1 : 将file1中第一次出现的foo替换为bar&&sed -e 's/foo/bar/g' file1 : 将file1中所有的foo替换为bar&&sed -e '1,8s/foo/bar/g' file1 : 将file1的1-8行中所以的foo替换为bar&&sed -e '/^$/,/^END/s/foo/bar/g' file1 &&首先匹配以空行为块首,END为行首的行为块尾的所有区域块,&&然后将在这些区域块中出现的foo替换为bar&&sed -e 's/&.*&//g' file1 : 将file1各行中,&&间的文字删除(最大)&&is what meant ===& meant&&sed -e 's/&[^&]*.//g' file1 : 将file1各行中,&&间的文字删除(最小)&&is what meant ===& is what meant &&注意: .*表示任意格式的任意字符 [^&]*表示任意个数的非&的字符&&sed -e 's/girl/nice & hello/g' file1 : 将file1各行中的girl替换为nice girl hello&&这里&表示前面匹配的内容,在要替换的文字里引用&&更强的引用: 在匹配文字中用\(\)包含文字,在匹配文字中用\1到\9来引用&&sed -e 's/\(boy\) loves \(girl\)/\2 A loves \1 B/g' file1&&boy loves girl ===& girl A loves boy B'
3)对同一对象执行多个sed操作时的3种方法&&1). sed -e 'command1;command2;command3' file1&&三个sed命令依次作用到file1的各行&&2). sed -e 'command1' -e 'command2 file1&&跟1)类似,比1)跟保险,1)不能用的时候可以尝试&&3). sed -f script_file file1&&一些复杂命令,必须写到一个script. 文件中
======================================================================================================
3.& while读文件: shell按行读取文件
&&& 变量的递增: let num=num+1&& 或者& let num+=1 或者& cs=`expr $cs + 1`
&&& #范例1:简单结构&&onstat -p & status&&while read line&&do&&&echo $line &&done & status
&&& #范例2:&&& top & status&&num=1&&while read line&&do&&&&&&if [ $num -eq& 6 ];&&then&&#echo $num&&#echo $line&&fi&&&&let num=num+1&&done & status& ======================================================================================================
4. until 循环;& 以及读取命令行参数,& $#有特殊含义,获取了传入的参数的个数,类似的特殊标识还有几个。&&&&if [ $# -ne 3 ]&&&then& &&echo "Usage: 脚本名称 参数1 参数2 参数3, 参数1是循环次数,参数2是循环间隔时间,参数3是输出结果文件"&& &&exit 1&&& fi&&
&& cs=1&& until [ $cs -gt $1 ]&& do&&&& cs=`expr $cs + 1`&&&& sleep $2&& done&&
======================================================================================================
5. 整数比较:-lt&&&&&&&&&&&&&& Less than-gt&&&&&&&&&&&&&& Greater than-le&&&&&&&&&&&&&& Less than or equal to-ge&&&&&&&&&&&&&& Greater than or equal to-eq&&&&&&&&&&&&&& Equal to-ne&&&&&&&&&&&&& Not equal to
======================================================================================================
6. shell的if语句格式:
&&if [ $num -eq& 6 ];&&then&&#echo $num&&fi======================================================================================================
7. cut 的使用,也可以对一行的数据进行指定截取。一般都可以指定分隔符号
cut -c 1-5,10-14 filecut -f 1,3 file
我们经常会遇到需要取出分字段的文件的某些特定字段,例如 /etc/password就是通过":"分隔各个字段的。可以通过cut命令来实现。例如,我们希望将系统账号名保存到特定的文件,就可以:cut -d: -f 1 /etc/passwd & /tmp/users-d用来定义分隔符,默认为tab键,-f表示需要取得哪个字段
What’s cut?子曰:cut命令可以从一个文本文件或者文本流中提取文本列。命令用法:&& cut -b list [-n] [file ...]&& cut -c list [file ...]&& cut -f list [-d delim][-s][file ...]l&&& 上面的-b、-c、-f分别表示字节、字符、字段(即byte、character、field);l&&& list表示-b、-c、-f操作范围,-n常常表示具体数字;l&&& file表示的自然是要操作的文本文件的名称;l&&& delim(英文全写:delimiter)表示分隔符,默认情况下为TAB;l&&& -s表示不包括那些不含分隔符的行(这样有利于去掉注释和标题)上面三种方式中,表示从指定的范围中提取字节(-b)、或字符(-c)、或字段(-f)。
-c 和 -f 参数可以跟以下子参数:m 第m个字符或字段m- 从第m个字符或字段到文件结束m-n 从第m个到第n个字符或字段-n 从第1个到第n个字符或字段
======================================================================================================
监控脚本原文:
if [ $# -ne 3 ]&then& echo "Usage: 脚本名称 参数1 参数2 参数3, 参数1是循环次数,参数2是循环间隔时间,参数3是输出结果文件"&& exit 1&& fi&& && && echo "Time,%cached read,ovlock,%ovbuff,bufwaits,lokwaits,lockreqs,deadlks,ckpwaits,seqscans,Fg Writes,Chunk Writes,Physical Logging pages/io,Physical Logging %used,Logical Logging pages/io,Logical Logging %used,active,total,hash buckets,lock table overflows"& && informixStatus_$3.csv&& && cs=1&& until [ $cs -gt $1 ]&& do
&&var0=$(date | awk '{print $4}') &&&& &&& onstat -p & status&&num=1&&while read line&&do&&&&&if [ $num -eq& 6 ];&&then&&var1=$(echo $line | awk '{print $4 }' )&&fi&&&if [ $num -eq& 15 ];&&then&&var2=$(echo $line | awk '{print $1 }' )&&var3=$(echo $line | awk '{print $3 }' )&&fi&&&&if [ $num -eq& 18 ];&&then&&var4=$(echo $line | awk '{print&& $1 }' )& &&var5=$(echo $line | awk '{print&& $2 }'& )& &&var6=$(echo $line | awk '{print& $3 }'& )& &&var7=$(echo $line | awk '{print&& $4 }'&& )& &&var8=$(echo $line | awk '{print&& $6 }'& )&& &&var9=$(echo $line | awk '{print&& $8 }'& )& &&fi&&&let num=num+1&&done & status& &&&&& onstat -F & status&&num=1&&while read line&&do&&&&&&if [ $num -eq& 6 ];&&then&&var10=$(echo $line | awk '{print $1 }'& )&&var11=$(echo $line | awk '{print& $3 }'& )&&fi&&&&let num=num+1&&done & status&
&&& &&& &&& onstat -l & status&&num=1&&while read line&&do&&&&if [ $num -eq& 6 ];&&then&&var12=$(echo $line | awk '{print $6 }' )&&fi&&&&if [ $num -eq& 8 ];&&then&&var13=$(echo $line | awk '{print& $5 }' )&&fi&&&&if [ $num -eq& 12 ];&&then&&var14=$(echo $line | awk '{print $8 }' )&&fi&&&&if [ $num -eq& 14 ];&&then&&var15=$(echo $line | awk '{print& $4 }' )&&fi&&&&&&&&let num=num+1&&done & status&
&&& onstat -k | grep active & status&&num=1&&while read line&&do&&&&&&if [ $num -eq& 1 ];&&then&&var16=$(echo $line | awk '{print& $1 }')&&var17=$(echo $line | awk '{print $3 }' )&&var18=$(echo $line | awk '{print& $5 }' )&&var19=$(echo $line | awk '{print& $8 }')&&fi&&&&&&let num=num+1&&done & status&
&&& echo "$var0,$var1,$var2,$var3,$var4,$var5,$var6,$var7,$var8,$var9,$var10,$var11,$var12,$var13,$var14,$var15,$var16,$var17,$var18,$var19" && informixStatus_$3.csv
&&& cs=`expr $cs + 1`&&& sleep $2&& done&& && rm status
Informix监控脚本说明:1)监控脚本名称:monitorInfx2)监控脚本用法:monitorInfx 循环次数 循环间隔时间 结果文档名3)监控结果命名:informixStatus_输入的结果文档名(年月日_测试类型_用户数_运行时间_开始时间)
4)脚本执行范例:nohup sh monitorInfx 600 3 _HunHe_30Vuser_30Min_1401 &
5)脚本执行结束后,会在当前目录下生成如下文件:informixStatus__HunHe_30Vuser_30Min_1401.csv
6)可以将此文件另存为excel文件,然后生成图表
7)注意输入的结果文档名中不要包含路径
#这个是最初参考的文件,很简练,利于学习:
package test.function.
import java.io.ByteArrayInputSimport java.io.FileInputSimport java.io.FileOutputS
import org.apache.poi.hssf.usermodel.HSSFCimport org.apache.poi.hssf.usermodel.HSSFRichTextSimport org.apache.poi.hssf.usermodel.HSSFRimport org.apache.poi.hssf.usermodel.HSSFSimport org.apache.poi.hssf.usermodel.HSSFWimport org.apache.poi.hwpf.extractor.WordEimport org.apache.poi.poifs.filesystem.DirectoryEimport org.apache.poi.poifs.filesystem.DocumentEimport org.apache.poi.poifs.filesystem.POIFSFileS
// code run against the jakarta-poi-1.5.0-FINAL-.jar.
public class MyExcel {
&static public void main(String[] args) throws Exception { &&//------------在xls中写入数据&FileOutputStream fos = new FileOutputStream("e:\\text.xls"); &HSSFWorkbook wb = new HSSFWorkbook(); &HSSFSheet s = wb.createSheet(); &wb.setSheetName(0, "first sheet"); &HSSFRow row = s.createRow(0); &HSSFCell cell = row.createCell((int)0,0); &HSSFRichTextString hts=new HSSFRichTextString("nihao");&cell.setCellValue(hts);&wb.write(fos); &fos.flush();&fos.close(); &&//-------------------------//&System.out.println("1111");//&HSSFCell cell02 = row.createCell((int)1,0); //&cell02.setCellValue(22);&&& // 当整型写入//&System.out.println("222");&//-------------------------&&//------------从xls读出数据&wb = new HSSFWorkbook(new FileInputStream("e:\\text.xls")); &s = wb.getSheetAt(0); &HSSFRow r = s.getRow(0); &cell=r.getCell((short)0);&if(cell.getCellType() == HSSFCell.CELL_TYPE_STRING){&&& System.out.println(cell.getRichStringCellValue());&}&&&//------------从doc读出数据&&& FileInputStream in = new FileInputStream("e:\\text.doc");&&& WordExtractor extractor = new WordExtractor(in);&&& String text =extractor.getText();&&&&&& // 对DOC文件进行提取&&& System.out.println(text);&&& in.close();& &//------------------在doc中写入&
&&& byte[] a=new String("看见了!").getBytes();&&& ByteArrayInputStream bs = new ByteArrayInputStream(a);&&& POIFSFileSystem fs = new POIFSFileSystem();&&& ///////////////////////////////////&&& DirectoryEntry directory = fs.getRoot();&&& DocumentEntry de = directory.createDocument("WordDocument", bs);&&& //以上两句代码不能省略,否则输出的是乱码&&& fos = new FileOutputStream("e:\\text.doc"); &&& fs.writeFilesystem(fos);&&& bs.close();&&& fos.flush();&&& fos.close();&&& &&& &&& //Java中关于空格的正则表达式 &&& String str2 = "GET&&&&&&&&&&&& /index.html HTTP/1.1";//字符串s由“GET”、“/index.html”和“HTTP/1.1”组成,中间有一个或多个空格&&& String tt[] = str2.split("按照空格分割字符串,多个空格作为一个空格对字符串进行分割&&& for(String str: tt)//增强的for循环&&& System.out.println(str);//输出:GET&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //& /index.html&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //& HTTP/1.1&&&&&&&&& &&& String qq = str2.replaceAll(" {2,}", " ");//把字符串s中的多个空格替换为一个空格&&& System.out.println(qq);//输出:GET /index.html HTTP/1.1 &&& System.out.println(str2);//输出:GET&&&&&&&&&&&& /index.html HTTP/1.1
&&& &&& &&& &&& &} &}
# 后来进行日志分析,然后获取数据,写入到excel中,代码如下:
package test.function.
import java.io.BufferedRimport java.io.ByteArrayInputSimport java.io.FileInputSimport java.io.FileOutputSimport java.io.FileRimport java.io.InputStreamRimport java.util.ArrayLimport java.util.Dimport java.util.Iimport java.util.regex.Mimport java.util.regex.P
import org.apache.poi.hssf.usermodel.HSSFCimport org.apache.poi.hssf.usermodel.HSSFRichTextSimport org.apache.poi.hssf.usermodel.HSSFRimport org.apache.poi.hssf.usermodel.HSSFSimport org.apache.poi.hssf.usermodel.HSSFWimport org.apache.poi.hwpf.extractor.WordEimport org.apache.poi.poifs.filesystem.DirectoryEimport org.apache.poi.poifs.filesystem.DocumentEimport org.apache.poi.poifs.filesystem.POIFSFileS
public class InformixAnalysisTwo {&&static public void main(String[] args) throws Exception { &&&&InformixAnalysisTwo myPro = new InformixAnalysisTwo() ;&&ArrayList&ArrayList& content = myPro.readDataFile() ;&&myPro.writeExcelFile(content)& ;&&&&&} // main&&&&//读取监控数据:&& // 可以改成传入参数,获取路径,循环路径下的文件&public ArrayList readDataFile() throws Exception{&&&&//读取监控数据:&&//BufferedReader in = new BufferedReader(new FileReader("E:\\on__p_1_5-p","UTF-8"));&&BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream("E:\\on__p_1_5-p"), "gbk"));&& &&String inStr = "" ;&&&&//String sheetName = in.readLine() ;&&&&//String[][] content = {} ;&&&&ArrayList&ArrayList& content = new ArrayList&ArrayList&() ;&&//&&String dataParaName =//&&"dskreads pagreads bufreads %cached dskwrits pagwrits bufwrits %cached"//&&+" isamtot& open&&&& start&&& read&&&& write&&& rewrite& delete&& commit&& rollbk"//&&+" gp_read& gp_write gp_rewrt gp_del&& gp_alloc gp_free& gp_curs"//&&+" ovlock&& ovuserthread ovbuff&& usercpu& syscpu&& numckpts flushes" //&&+" bufwaits lokwaits lockreqs deadlks& dltouts& ckpwaits compress seqscans"//&&+" ixda-RA& idx-RA&& da-RA&&& RA-pgsused lchwaits" ;//&&//&&String[] dataParaNameArray = dataParaName.split(",}") ;//&&for(int paraNum=0 ; paraNum & dataParaNameArray.paraNum++){//&&&String listName = dataParaNameArray[paraNum] ;//&&&//ArrayList&String& listName = new ArrayList&String&() ;//&&}&&&&//Const String s = "" ;&&&&ArrayList&String& timeP = new ArrayList&String&() ;&&timeP.add("Time") ;&&&&&ArrayList&String& dskreads = new ArrayList&String&() ;&&dskreads.add("dskreads") ;&&&&ArrayList&String& pagreads = new ArrayList&String&() ;&&pagreads.add("pagreads") ;&&&&content.add(timeP) ;&&content.add(dskreads) ;&&content.add(pagreads) ;&&&&& &&while( (inStr=in.readLine()) != null&& ){&&&//&&&Pattern pattern = pile("^Fri*");//&&&Matcher matcher = pattern.matcher(inStr);//&&&&& boolean b= matcher.matches();//&&&&& //当条件满足时,将返回true,否则返回false//&&&& System.out.println(b);&&&& &&&//System.out.println("内容:"+inStr);&&&//Fri Dec 17 11:50:34 EAT 2010//&&&if(inStr.matches("*\\d{2}:\\d{2}:\\d{2}*")){//&&&&System.out.println("eat");//&&&}&&&&//System.out.println("行读取: "+inStr);&&&&&&if(inStr.endsWith("onstat -p")){&&&&inStr = in.readLine() ;&&&&String timeNow =inStr.split("] ; // 空格是固定的&&&&timeP.add(timeNow) ;&&&&//System.out.println ("读取 time "+timeNow) ;&&&&//timeP[num] = timeN&&&&//num++ ;&&&}&&&if(inStr.startsWith("dskreads")){&&&&inStr = in.readLine() ;&&&&String[] paraValues = inStr.split(",}") ;& // 空格的数量是不固定的&&&&dskreads.add(paraValues[0]) ;&&&&pagreads.add(paraValues[1]) ;&&&}&&&&&&&}&&&&System.out.println(content);&&System.out.println(timeP);&&System.out.println(dskreads);&&System.out.println(pagreads);&&&&&}&&&// 在xls中写入数据&public void writeExcelFile(ArrayList&ArrayList& content) throws Exception {&&//------------在xls中写入数据&&&&& &&FileOutputStream fos = new FileOutputStream("e:\\lianxi.xls");
&&HSSFWorkbook wb = new HSSFWorkbook(); &&&&HSSFSheet s = wb.createSheet(); &&wb.setSheetName(0, "first sheet"); &&// 建立多个sheet,每个sheet 取不同的名字&&&&//for (int i=0 ;i&content.size() ;i++){ //行&&&&&int m = 0 ;&&&for(ArrayList paraValues : content) { //foreach语句 java SE5新增&&&&System.out.println("读取到的arrayList:"+paraValues);&&&&HSSFRow hssfRowFinal = s.createRow(m) ;&&&&m++ ;&&&&int n = 1 ; // 0 参数名,已被写入。&&&&&& //for(String value : paraValues){&&&&Iterator myIterator = paraValues.iterator() ;&&&&&&&&&&& &HSSFCell hssfCellFirstFinalHead = hssfRowFinal.createCell((int)0, 1) ; //HSSFCell.CELL_TYPE_STRING= 1&&&&&&&&&& String prarameterName = myIterator.next().toString() ;&&&&&&& &hssfCellFirstFinalHead.setCellValue(prarameterName );&&&&&&& &&&&&&& &&&&&while(myIterator.hasNext()){&&&&&&&String value = myIterator.next().toString() ;&&&&&& &//System.out.println(value);&&&&&&&&&&& &if(value.matches("}")){&&&&&& &&System.out.println("值符合日期格式:time:"+value);&&&&&& &&HSSFCell hssfCellFirstFinalTime = hssfRowFinal.createCell((int)n, 1) ; &&&&&& &&// int org.apache.poi.ss.usermodel.Cell.CELL_TYPE_STRING = 1 [0x1]&&&&&& &&hssfCellFirstFinalTime.setCellValue(value) ;&&&&&& && &&&&&& &}else{&&&&&& &&System.out.println("参数值:value:"+value);&&&&&& &&HSSFCell hssfCellFirstFinal = hssfRowFinal.createCell((int)n, 0) ; &&&&&& &&hssfCellFirstFinal.setCellValue(Double.parseDouble(value) );&&&&&& &&&&&&&& &}&&&&&&&&&& &&&&&n++;&&&&}&&&&&& &&&}&&&&&&&&&wb.write(fos);&&&fos.flush();&&&fos.close();&&&&System.out.print("over") ;&&&}&&
你可能问,为什么要了解这个文件格式,
是这样的,在linux下用shell统计数据,写成csv文件格式
下载到本机,就可以用excel进行处理了,包括生成图表。
文件格式简单,通用,但是非常实用。
CSV即Comma Separate Values,这种文件格式经常用来作为不同程序之间的数据交互的格式。
具体文件格式
每条记录占一行
以逗号为分隔符
逗号前后的空格会被忽略
字段中包含有逗号,该字段必须用双引号括起来
字段中包含有换行符,该字段必须用双引号括起来
字段前后包含有空格,该字段必须用双引号括起来
字段中的双引号用两个双引号表示
字段中如果有双引号,该字段必须用双引号括起来
第一条记录,可以是字段名
CSVCOMMA SEPARATED VALUEEXCELCSVEXCELCRC CRCCSVWORDPADNOTEEXCELCSVXXXX.JPGBYTECRC32CSVECSV
CSV" 是逗号分隔文件 (Comma Separated Values) 的首字母英文缩写,是一种用来存储数据的纯文本格式,通常用于电子表格或数据库软件。在 CSV 文件中,数据“栏”以逗号分隔,可允许程序通过读取文件为数据重新创建正确的栏结构,并在每次遇到逗号时开始新的一栏。 创建 CSV 文件有许多方法。最常用的方法是用电子表格程序,如 Microsoft Excel。在 Microsoft Excel 中,选择“文件”&“另存为”,然后在“文件类型”下拉选择框中选择 "CSV (逗号分隔) (*.csv)"。 csv格式(即文件后缀为.csv,属于用excel软件可编辑的逗号分隔的一种文件格式)。
xls 文件就是Microsoft excel电子表格的文件格式。我想就不用多介绍了吧,学校里多少都学过的。CSV是最通用的一种文件格式,它可以非常容易地被导入各种PC表格及数据库中。此文件,一行即为数据表的一行。生成数据表字段用半角逗号隔开。
CSV是文本文件,用记事本就能打开,XLS是二进制的文件只有用EXCEL才能打
CSV(以逗号分隔)
CSV (*.csv) 文件格式只能保存活动工作表中的单元格所显示的文本和数值。工作表中所有的数据行和字符都将保存。数据列以逗号分隔,每一行数据都以回车符结束。如果单元格中包含逗号,则该单元格中的内容以双引号引起。
如果单元格显示的是公式而不是数值,该公式将转换为文本方式。所有格式、图形、对象和工作表的其他内容将全部丢失。欧元符号将转换为问号。
文本文件的内容有ASCII字符集中的字符组成
首先:文本文件和二进制文件是有区别的,对于文本文件来说,每个字节(或每几个字节)的意义相同,你只要一个一个字节的读出来就OK了;而对于二进制文件来说,可能有4个字节保存了一个整形,接下去有4个字节保存了一个浮点型等等……所以要想打开二进制文件需要了解它的文件格式。要想知道文件格式,你可以用16进制编辑器打开一个二进制文件,然后猜测它的格式。}

我要回帖

更多关于 yii model count 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信