bash
文章平均质量分 76
iteye_18070
这个作者很懒,什么都没留下…
展开
-
shell 中遍历文件的效果比较
假设我们有一个数据文件形如下:A,BA,CA,DB,EB,FD,AD,BE,G.... 需求是要将其转变为如下形式:A:B,C,DB:E,FD:A,BE,G...... 需求很简单,循环遍历文件,然后trace第一列即可。在这里,我们讨论用Shell脚本如何实现这个简单的需求。 在shell中面对这样...2011-12-09 10:30:07 · 187 阅读 · 0 评论 -
DJBX33A哈希函数实现——Bash
DJBX33A 哈希函数又叫做time33 哈希函数,PHP、Perl、Apache中都是用该方法做为其哈希函数的实现。 本文就对该哈希函数做一简单的介绍,并用Bash对其进行实现。 该方法十分简单,将字符串中的每个字符的ascii码迭代*33加在一起即可。即hash(i)=hash(i-1)*33+ascii(i)。 假如字符串为:abc,则结果就是hashCod...原创 2012-06-13 21:48:22 · 202 阅读 · 0 评论 -
字符串中单调递增连续子序列——Bash
该问题和求单调递增子序列有点像,但不一样。其主要区别就是在于连不连续,如果不要求连续(单调递增子序列)在实现时的算法是动态规划,比较复杂。本文描述的问题是子序列连续的问题,相比而言会简单很多,原理和求最大值是一样的。 具体描述为给定一个字符串,求一个子串,该子串满足:1. 连续2. 该子串递增3. 是最长的单调连续递增的子串 例如:zxuhababcba结...2012-06-03 20:37:44 · 255 阅读 · 0 评论 -
Java中的Arrays.sort 分析及其非递归实现——Bash
上篇文章我们讨论了快速排序算法,它与归并算法同属分治算法的一种。两者在实现上很相似,都使用了分治递归的策略来实现。 相信大家对快排和归并排序都不陌生,不过我们平常接触到的一般是这两种算法的递归实现方式。以Java为例,其Arrays类中的sort在排序Object的时候用的就是归并排序。不过其在实现上做了优化,在子问题足够小时(每个递归子序列长度不大于7)通过插入排序完成这...2012-06-01 22:31:50 · 79 阅读 · 0 评论 -
快速排序的非递归实现 --Bash
写blog的好处是,琢磨过的东西不用再琢磨第二次了。 快速排序算法的非递归实现: #!/bin/bashdeclare -a inputArray=(2 3 5 0 1 5 7 1 2 9 0);declare -a startStack;declare -a endStack;#init inputArray randomlyfor((i=0;i&l...2012-05-26 14:05:12 · 140 阅读 · 0 评论 -
两种求集合所有子集的方法--Bash实现
假设我们有一个求集合的全部子集(包含集合自身)的需求,即有一个集合s,包含两个元素 <a,b>,则其全部的子集为<a,ab,b>.不难求得,子集个数sn与原集合元素个数n之间的关系为:sn=2^n-1。 本文分别讲述两种实现方法: 一:位图法:1)构造一个和集合一样大小的数组A,分别与集合中的某个元素对应,数组A中的元素只有两种状态:“1”和“0”...原创 2012-04-30 23:33:41 · 324 阅读 · 0 评论 -
bash中将字符串split成数组的方法
相信编程时,字符串的处理是很频繁被处理的问题,其中大家肯定不陌生各种语言的string.split('sp')将字符串按照某个字符或子串切分成一个数组。同样,我们在用shell处理文本信息时也可以方便地实现该功能。这里主要使用了bash中关于字符串变量的处理和array初始化的能力。 如下: #!/bin/bashstr="hello,world,i,like,...2012-03-21 23:55:03 · 3443 阅读 · 0 评论 -
Shell下三种遍历文件的方法比较
昨天一个同事遇到一个需求:有一个日志文件A,当日志文件中的某行包含某个字符串BC时,将字符串EF变成EG,并输出到新文件。即:Input,A:asdfasdfasdfasdBCasdfEFasd output:asdfasdfasdfasdBCasdfEGasd 这个文件有500w+行。最开始用如下脚本解决: cat $1 | while re...2012-03-15 20:06:28 · 514 阅读 · 0 评论 -
简单比较Linux命令中字符串查找的效率
有时候,我们要简单统计下一个文件中包含某个特殊字符串的行数。我第一个想到的是grep + wc,不知道你想到了什么,不过,我们确实有多种方法。 假如我们的文件叫msg,里面有23380092行数据。某些行是这样的receive: msg1我们的任务是找出这些行的数量。 1. grep方法grep ' msg1' msg | wc -l使用这种方法耗时: 1s...2011-11-21 21:43:00 · 481 阅读 · 0 评论 -
数据挖掘中 决策树算法实现——Bash
一、决策树简介: 关于决策树,几乎是数据挖掘分类算法中最先介绍到的。决策树,顾名思义就是用来做决定的树,一个分支就是一个决策过程。 每个决策过程中涉及一个数据的属性,而且只涉及一个。然后递归地,贪心地直到满足决策条件(即可以得到明确的决策结果)。 决策树的实现首先要有一些先验(已经知道结果的历史)数据做训练,通过分析训练数据得到每个属性对结果的影响的大小,这里我...2012-07-20 13:00:41 · 171 阅读 · 0 评论 -
基于 FP-Tree 的关联规则挖掘——Bash实现
本文假设读者至少有对数据挖掘中的关联规则有基本了解,对Apriori算法的实现有一定了解。 在此基础上,我们讨论一种比Apriori更加高效的关联规则挖掘方法——基于FP-Tree的关联规则挖掘。 (一) 关于Apriori: Apriori是关联规则挖掘中最最最经典的算法,没有之一。同时,它也是向初学同学阐明关联规则精髓的最佳武器。 首先,我们简单回顾下Apri...原创 2012-06-18 15:30:51 · 336 阅读 · 0 评论