如果您喜欢制作“前10名”列表但又不好意思说出来,请告诉人们您喜欢数据探索。为了进一步打动他们,请在命令行中解释您的数据探索。但千万不要告诉他们其实很容易,免得你的好形象就这么毁了!在这篇文章中,我将基于GNU/Linux工具和“单列表”(我称之为简单列表)进行一些数据探索。如果您想通过命令行在此处查看更多信息,请参阅“手册”页面,或在“注释”部分解决。第一个列表中探讨的密码是MarkBurnett2011年汇编的10,000个最常用密码。此列表是有序的,是最常用的,也是众所周知的阶乘“密码”的最常见来源之一,与“123456”并列第二。在这里,我将该列表放在一个名为“密码”的文件中,并使用head命令列出前10个:(Burnet在这里解释了他如何收集这些密码。您会注意到在列表中他将所有大写字母转换为小写字母。)好的,所以“密码”是Burnett列表的首位。那么每个数字呢?很有意思!数字“1”出现在密码列表中的频率是第二常见数字“2”的两倍多,并且除0和9外,十个数字按其数字顺序出现。那么前10个字母呢?密码文件中出现频率最高的字母依次为EARONISTLC,类似于EAIRTONSLC,是至少在一个已发布的表格中提到的常用英文单词的出现频率。这是否意味着大多数密码实际上是常见的英文单词,也许还混入了数字?为了找出答案,我首先将密码转换成一个纯字母字符串列表,然后查看其中有多少字符串可以在英语词典中找到。首先我会通过sed命令去掉密码中的所有数字,然后去掉所有的标点符号,然后去掉所有的空行。这将创建一个字母数字密码列表。然后我用sort和uniq修剪列表的种类以删除重复项。(例如,'abc1234def'和'abc1!2!3!def!'都保留'abcdef'。)。根据wc命令,我将1000个密码缩减为8583个纯字母字符串:我经常使用便携英语词典,我通常使用usr/share/dict/american-english,这个文件是来自DebianLinux的一个release版本。它包含99171个单词。我会首先使用tr命令将词汇表转换为纯小写字母,然后使用sort和uniq删除任何重复的条目排序(例如,'A'和'a'都会变成'a')。这将词汇表的数量减少到97723个条目:我现在可以使用带有'-23'参数的comm命令来比较两个列表并报告字母文件中没有出现在字典中的单词:总数是3137,所以至少8583-3137=5446个“核心”密码在Burnett的仅小写字母列表中(约63%)是简单的英文单词,或者添加了一些数字或标点符号的简单单词。我说“至少”是因为3137个字符串中的很大一部分只是稍微修改过的普通英语单词、名称或/usr/share字典中没有的名称。在LA项目中,例如,“labtec”、“ladyboy”、“lakeside”、“lalakers”、“lalala”、“laserjet”、“lasvegas”、“lavalamp”和“lawman”。地名在之前的一篇Linux的一篇Rain文章中,描述了如何建立一个包含370,000个澳大利亚地名的表。有了它,我现在可以回答诸如“RoundHill是澳大利亚山区最好的名字吗?”等关键问题。和“桑迪是最好的海滩,但岩溪峡谷呢?”Field的排名2,所以这里是:哇。当时我什至没有关闭终端。(但请注意我是如何使用^string1^string2命令保存打印的。它重复第一个命令,但用第二个字符串替换第一个。多么有用的BASH技巧!)另一个亟待解决的问题是有多少地名带有“Mile”其中,例如'SixMileCreek',以及它们的排名方式:我在澳大利亚旅行中发现了很多DeadHorseCreeks,所以有这些地名:Species第三个列表探索了澳大利亚昆虫新物种的名称我今年发表的1961-2010年期间。从这个列表中,我删除了所有“物种昵称”,它们是人口组的第二部分,例如Homosapiens(你和我)和Apismellifera(意大利蜜蜂)。(技术提示:这张昆虫表可从开发数据Zenodo存储库https://zenodo.org/record/10481获得,包括亚种。在我的“前10名”练习中,我首先隔离所有独特的这避免了重复,例如亚种蜜蜂iberica以避免蜜蜂昵称intermissa等。***一个物种文件有18155个昵称。)大多数人开玩笑地使用学名以“-us”结尾,如“Biggusbuggus”。昆虫学家呢?有几个不错的,使用命令行获取字符串的最后2个字母,我将在这里使用这2个:耶!昆虫学家也喜欢“-us”结尾。接下来,我想知道有多少物种是以我的家乡塔斯马尼亚州命名的?(下面我想查看前100行,以确保我得到所有“塔斯曼”组合。)昆士兰州呢?总的来说,昆虫种类排名前10位的是什么?好吧,除了明显的'australis'和'australiensis',以及'occidentalis'(西方)的地理方面,其他昆虫学家已经完成了其他昆虫学家的愿望,在前10名中创造了7个昵称。(绰号“commoni”是澳大利亚蝴蝶和蛾类专家IanF.B.Common[1917-2006]的荣誉。)演化以上这些命令用于简单列表。要从一个简单的列表变成一个文本块,我们又需要我们的命令行朋友了。例如,我将2014年7月16日的澳大利亚参议院演讲保存为文本文件hansard。将hansard拆分为单词列表:现在查看语音中的单词频率:即将推出...从多列表中进行“前10”等排名需要更多的命令行工具。我将在以后的文章中展示它们的用途。原文链接:http://linux.cn/article-3775-1.html
