最新要闻
- 微胖女孩,夏天怎么露肤才好看?
- 焦点要闻:卷疯!国产带头杀价 4TB SSD被杀至969元:闪存、性能没得说
- 这么多年终于等来了!今起12306试行在线选铺服务:自选上下铺
- 资讯推荐:一夜10大转会动态:皇马官宣新援加盟,阿森纳天价求购西汉姆队长
- 查肝功能多少钱?_查肝功能大概多少钱
- 热门看点:写出氯气与水反应的离子方程式_氯气与水反应的离子方程式为________________ 新制的氯水
- 天天观点:怎么更新word目录页码_word怎么更新目录的两种方法
- 厦钨新能06月09日被沪股通减持142.85万股 环球焦点
- 【全球快播报】孙燕姿发文纪念出道23周年:创作新作品与AI拼了!
- 口碑糟糕!美国超级大片《变形金刚7》国内上映1天 票房破亿了
- 北尘电池厂什么时候出 公测上线时间预告 环球观点
- 冯小刚有几个孩子啊_冯小刚有几个孩子
- 什么的小河蚌(什么的小河)
- 琴葛蕾怎么复活的_琴格雷_全球资讯
- 宁王登陆LPL六周年,BLG送上“大礼”!小破站零封Up,斩获四连胜 前沿资讯
- 三星打印机卡纸怎么办视频_三星打印机卡纸怎么办-世界时讯
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
焦点要闻:Linux数据分析之九个给力的命令行工具
要对数据进行分析,大家会从哪里入手?对于大多数熟悉了图形工作环境的朋友来说,电子表格工具无疑是第一选项。但命令行工具同样能够更快更高效地解决问题——且只须稍微学习即可上手。 |
要对数据进行分析,大家会从哪里入手?
对于大多数熟悉了图形工作环境的朋友来说,电子表格工具无疑是第一选项。但命令行工具同样能够更快更高效地解决问题——且只须稍微学习即可上手。
(相关资料图)
大部分此类工具冻严格局限于Linux,而多数可同样运行在Unix甚至是Windows环境之下。在今天的文章中,我们将尝试几款简单的开源数据分析工具,并共同了解其如何运作。
一、head与tail首先,让我们先从文件处理开始。文件中有什么内容?其格式如何?大家可以使用cat命令在终端中显示文件,但其显然不适合处理内容较长的文件。
输入head与tail,二者能够完整显示文件中的指定行数内容。如果大家未指定行数,则默认显示其中10行。
- $tail-n3jan2017articles.csv
- 02Jan2017,Article,ScottNesbitt,3tipsforeffectivelyusingwikisfordocumentation,1,/article/17/1/tips-using-wiki-documentation,"Documentation,Wiki",710
- 02Jan2017,Article,JenWikeHuger,TheOpensource.compreviewforJanuary,0,/article/17/1/editorial-preview-january,,358
- 02Jan2017,Poll,JasonBaker,WhatisyouropensourceNewYear"sresolution?,1,/poll/17/1/what-your-open-source-new-years-resolution,,186
在最后三行中,我能够找到日期、作者姓名、标题以及其他一些信息。不过由于缺少列头,我不清楚各列的具体含义。下面查看各列的具体标题:
- $head-n1jan2017articles.csv
- Postdate,Contenttype,Author,Title,Commentcount,Path,Tags,Wordcount
现在一切都非常明确,我们可以看到发布日期、内容类型、作者、标题、提交次数、相关URL、各文章标签以及字数。
二、wc但如果需要分析数百甚至上千篇文章,又该如何处理?这里就要使用wc命令了——其为“字数”一词的缩写。wc能够对文件的字节、字符、单词或者行数进行计数。在本示例中,我们希望了解文章中的行数。
- $wc-ljan2017articles.csv93jan2017articles.csv
本文件共有93行,考虑到第一行中包含文件标题,因此可以推测此文件是一份包含92篇文章的列表。
三、grep下面提出新的问题:其中有多少篇文章与安全话题有关?为了实现目标,我们假定需要的文章会在标题、标签或者其他位置提到安全这一字眼。这时,grep工具可用于通过特定字符搜索文件或者实现其他搜索模式。这是一款极为强大的工具,因为我们甚至能够利用正则表达式建立极为精确的匹配模式。不过这里,我们只需要寻找一条简单的字符串。
- $grep-i"security"jan2017articles.csv
- 30Jan2017,Article,TiberiusHefflin,4waystoimproveyoursecurityonlinerightnow,3,/article/17/1/4-ways-improve-your-online-security,Securityandencryption,1242
- 28Jan2017,Article,SubhashishPanigrahi,HowcommunitiesinIndiasupportprivacyandsoftwarefreedom,0,/article/17/1/how-communities-india-support-privacy-software-freedom,Securityandencryption,453
- 27Jan2017,Article,AlanSmithee,DataPrivacyDay2017:Solutionsforeverydayprivacy,5,/article/17/1/every-day-privacy,"Bigdata,Securityandencryption",1424
- 04Jan2017,Article,DanielJWalsh,50waystoavoidgettinghackedin2017,14,/article/17/1/yearbook-50-ways-avoid-getting-hacked,"Yearbook,2016OpenSourceYearbook,Securityandencryption,Containers,Docker,Linux",2143
我们使用的格式为grep加-i标记(告知grep不区分大小写),再加我们希望搜索的模式,最后是我们所搜索的目标文件的位置。最后我们找到了4篇安全相关文章。如果搜索的范围更加具体,我们可以使用pipe——它能够将grep同wc命令加以结合,用以了解其中有多少行提到了安全内容。
- $grep-i"security"jan2017articles.csv|wc-l4
这样,wc会提取grep命令的输出结果并将其作为输入内容。很明显,这种结合再加上一点shell脚本,终端将立即变成一款强大的数据分析工具。
四、tr在多数分析场景下,我们都会面对CSV文件——但我们该如何将其转换为其他格式以实现不同应用方式?这里,我们将其转化为HTML形式以通过表格进行数据使用。tr命令可帮助大家实现这一目标,它可将一类字符转化为另一类。同样的,大家也可以配合pipe命令实现输出/输入对接。
下面,我们试试另一个多部分示例,即创建一个TSV(即制表符分隔值)文件,其中只包含发表于1月20日的文章。
- $grep"20Jan2017"jan2017articles.csv|tr",""/t">jan20only.tsv
首先,我们利用grep进行日期查询。我们将此结果pipe至tr命令,并利用后者将全部逗号替换为tab(表示为"/t")。但结果去哪了?这里我们使用〉字符将结果输出为新文件而非屏幕结果。如此一来,我们可以dqywjan20only.tsv文件中一定包含预期的数据。
- $catjan20only.tsv20Jan2017ArticleKushalDas5waystoexpandyourproject"scontributorbase2/article/17/1/expand-project-contributor-baseGettingstarted69020Jan2017ArticleDRuthBavousettHowtowritewebappsinRwithShiny2/article/17/1/writing-new-web-apps-shinyWebdevelopment21820Jan2017ArticleJasonBaker"Top5:ShellscriptingtheCinnamonLinuxdesktopenvironmentandmore"0/article/17/1/top-5-january-20Top521420Jan2017ArticleTracyMirandaHowisyourcommunitypromotingdiversity?1/article/17/1/take-action-diversity-techDiversityandinclusion1007
如果我们先要找到包含信息最多的特定列,又该如何操作?假设我们需要了解哪篇文章包含最长的新文章列表,那么面对之前得出的1月20日文章列表,我们可以使用sort命令对列字数进行排序。在这种情况下,我们并不需要使用中间文件,而可以继续使用pipe。不过将长命令链拆分成较短的部分往往能够简化整个操作过程。
- $sort-nr-t$"/t"-k8jan20only.tsv|head-n1
- 20Jan2017ArticleTracyMirandaHowisyourcommunitypromotingdiversity?1/article/17/1/take-action-diversity-techDiversityandinclusion1007
以上是一条长命令,我们尝试进行拆分。首先,我们使用sort命令对字数进行排序。-nr选项告知sort以数字排序,并将结果进行反向排序(由大到小)。此后的-t$"/t"则告知sort其中的分隔符为tab("/t")。其中的$要求此shell为一条需要处理的字符串,并将/n返回为tab。而-k8部分则告知sort命令使用第八列,即本示例中进行字数统计的目标列。
最后,输出结果被pipe至head,处理后在结果中显示此文件中包含最多字数的文章标题。
六、sed大家可能还需要在文件中选择特定某行。这里可以使用sed。如果希望将全部包含标题的多个文件加以合并,并只为整体文件显示一组标题,即需要清除额外内容; 或者希望只提取特定行范围,同样可以使用sed。另外,sed还能够很好地完成批量查找与替换任务。
下面立足之前的文章列表创建一个不含标题的新文件,用于同其他文件合并(例如我们每月都会定期生成某个文件,现在需要将各个月份的内容进行合并)。
- $sed"1d"jan2017articles.csv>jan17no_headers.csv
其中的“1 d”选项要求sed删除第一行。
七、cut了解了如何删除行,那么我们该如何删除列?或者说如何只选定某一列?下面我们尝试为之前生成的列表创建一份新的作者清单。
- $cut-d","-f3jan17no_headers.csv>authors.txt
在这里,通过cut与-d相配合代表着我们需要第三列(-f3),并将结果发送至名为authors.txt的新文件。
八、uniq作者清单已经完成,但我们要如何知悉其中包含多少位不同的作者?每位作者又各自编写了多少篇文章?这里使用unip。下面我们对文件进行sort排序,找到唯一值,而后计算每位作者的文章数量,并用结果替换原本内容。
- sortauthors.txt|uniq-c>authors.txt
现在已经可以看到每位作者的对应文章数,下面检查最后三行以确保结果正确。
- $tail-n3authors-sorted.txt
- 1TracyMiranda
- 1VeerMuchandi
- 3VM(Vicky)Brasseur
最后让我们了解最后一款工具,awk。awk是一款出色的替换性工具,当然其功能远不止如此。下面我们重新回归1月12日文章列表TSV文件,利用awk创建新列表以标明各篇文章的作者以及各作者编写的具体字数。
- $awk-F"/t""{print$3""$NF}"jan20only.tsv
- KushalDas690
- DRuthBavousett218
- JasonBaker214
- TracyMiranda1007
其中的-F "/t"用于告知awk目前处理的是由tab分隔的数据。在大括号内,我们为awk提供执行代码。$3代表要求其将输出第三行,而$NF则代表输出最后一行(即‘字段数’的缩写),并在两项结果间添加两个空格以进行明确划分。
虽然这里列举的例子规模较小,看似不必使用上述工具解决,但如果将范围扩大到包含93000行的文件,那么它显然很难利用电子表格程序进行处理。
利用这些简单的工具与小型脚本,大家可以避免使用数据库工具并轻松完成大量数据统计工作。无论您是专业人士还是业余爱好者,它的作用都不容忽视。
原文来自:http://os.51cto.com/art/201702/533060.htm
本文地址:https://www.linuxprobe.com/data-analysis-command.html编辑员:张雄,审核员:冯振华
本文原创地址:https://www.linuxprobe.com/data-analysis-command.html
关键词:
焦点要闻:Linux数据分析之九个给力的命令行工具
Oracle启动命令
微胖女孩,夏天怎么露肤才好看?
焦点要闻:卷疯!国产带头杀价 4TB SSD被杀至969元:闪存、性能没得说
这么多年终于等来了!今起12306试行在线选铺服务:自选上下铺
资讯推荐:一夜10大转会动态:皇马官宣新援加盟,阿森纳天价求购西汉姆队长
读改变未来的九大算法笔记08_并非万能的算法-最资讯
查肝功能多少钱?_查肝功能大概多少钱
热门看点:写出氯气与水反应的离子方程式_氯气与水反应的离子方程式为________________ 新制的氯水
天天观点:怎么更新word目录页码_word怎么更新目录的两种方法
厦钨新能06月09日被沪股通减持142.85万股 环球焦点
【全球快播报】孙燕姿发文纪念出道23周年:创作新作品与AI拼了!
口碑糟糕!美国超级大片《变形金刚7》国内上映1天 票房破亿了
北尘电池厂什么时候出 公测上线时间预告 环球观点
冯小刚有几个孩子啊_冯小刚有几个孩子
什么的小河蚌(什么的小河)
环球新消息丨ASP.NET Core MVC 从入门到精通之Html辅助标签补充及模型校验基础
琴葛蕾怎么复活的_琴格雷_全球资讯
宁王登陆LPL六周年,BLG送上“大礼”!小破站零封Up,斩获四连胜 前沿资讯
三星打印机卡纸怎么办视频_三星打印机卡纸怎么办-世界时讯
今年前5月中国水利建设完成投资较去年同期增长32.1%
《暗黑破坏神4》M站玩家评分:全平台都遭大量差评! 环球新视野
头皮发麻!男子塑料杯捉一只蟑螂 结果睡一晚变一窝
云南大象破门闯入居民家吃饭菜:不是第一次、无人机监控
AMD Zen4撕裂者露出獠牙:96核心寂寞无敌
首发价39999元 三星发布98英寸Q80Z巨幕电视:送电视、手机
常压锅炉压力表多少(常压锅炉压力是多少)
能量洪流幻象哪里出 能量洪流
今日最新!我的朋友死了
环球报道:奥特曼格斗进化3mac全灭s级通关打法(奥特曼格斗进化3全关卡S级通关攻略及注意事项)
惨不忍睹的意思 关于惨不忍睹的意思的介绍-天天通讯
德天空:多家沙特俱乐部正在关注马内|全球热头条
安徽工贸职业技术学院青年志愿者协会
焦点速读:股票行情快报:华大九天(301269)6月9日主力资金净买入8327.52万元
全球微动态丨今日hdmi可以输出5.1声道_4K家庭影院5.1声道输入输出怎么设置的方法教程
顾晴菲现在的照片_顾晴菲
动态:带着智能手机闯荡异世界 第二季 第十一集 异世界的姐姐,还有闪闪发光的初恋。 预告
Rust - 接口设计建议之灵活(flexible)
今日播报!数据库事务隔离级别
总台专访丨新任突尼斯驻叙大使:阿盟国家反对外部干涉 赞赏中国促和努力
2022单身戒指十大品牌排行榜_单身戒指哪个牌子好-全球关注
【天天聚看点】【国际漫评】戏精
每日动态!别人都考完了 为啥浙江高考考四天?看这表就知道了
亚洲最大地下综合交通枢纽建设取得新进展 最深处可达43米
首批国产榴莲预计将在本月上市 “水果之王”或迎来大降价
河南郑州发现3岁男孩患全球仅34例象鼻病 严重需借助于呼吸机才能维持生命
安徽一男子因酒驾被暂扣驾驶证 考四次科目一后拿驾照当天再次酒驾
*ST京蓝:公司股票交易被叠加实施其他风险警示
美国发布厄尔尼诺警报 专家认为明年全球平均气温或创新高
垃圾桶分类有哪几种?垃圾桶尺寸规格是多少?
栉怎么读?栉风沐雨是什么意思?
文博日历丨看一部跨越千年的“巨幕电影”
锦旗多少钱一副?锦旗尺寸大小多少合适?
十一法定节假日是几天?十一法定节假日高速是否免费?
文心一言 VS 讯飞星火 VS chatgpt (36)-- 算法导论5.3 6题 环球聚看点
门框的拼音怎么读?门框的尺寸一般是多少?
世界快报:“世界认可日”江苏主题活动启动——看江苏如何借认证检测之力,赋能产业升级?
遥感监测显示:九寨沟震后全域植被逐渐恢复 环球微头条
中金湖北科投光谷REIT正式成立|全球观点
百度:第三代昆仑芯明年初规模上市 大模型算力不成问题|环球热点评
第四大运营商发力:中国广电5G全面铺开
世界微头条丨3岁男孩患象鼻病全球仅34例:医生科普“象鼻宝宝”有多可怕
能实现“榴莲自由”吗?首批国产榴莲预计本月上市 世界快播
株洲石峰区:展示巾帼风采 秋瑾女子民兵排开展集训
当前观察:Web安全-渗透测试-基础知识06
油石比怎么算沥青含量_油石比计算沥青用量|天天要闻
每日焦点!湖北6月25日左右发布高考成绩 广大考生请认准权威渠道
中国巨石(600176.SH):拟参与中复连众与中材叶片整合|世界今热点
全球热消息:木瓜鉴赏:投我以木瓜,报之以琼琚
Uzi就差官宣了?EDG海报空个位置引热议 网友:无字暗示乌兹 世界热资讯
全球短讯!这外观如何?新款宝马X5L来了!动力更强 预计9月正式投产
摩尔线程国产游戏显卡正式支持OpenGL 4.0!曲面细分 效果惊艳
全球新消息丨环卫母亲与高考儿子相拥而泣:画面朴素到网友动容!
环球快看点丨美国一客机紧急疏散乘客 原因大跌眼镜:客舱内有飞蛾
全省用户都打不出电话?广东电信紧急回应_今日要闻
上海数据交易所数商服务平台上线
国网长春供电公司开展老旧表箱电源安全隐患排查整治工作
债市日报:6月9日 全球要闻
环球资讯:哈尔斯:人民币贬值有利于出口,会为公司经营带来积极影响
今日热搜:米哈游《原神》后又一力作!《崩坏:星穹铁道》官宣登陆PS5
天天信息:华为中原区域总部落户郑州:十四层高楼
哥哥穿旗袍接妹妹发现跑错考点:女孩被成功逗笑 天天短讯
不预售、不等待 天天都是618价格!拼多多百亿补贴推“数码家电消费季”|焦点速递
AI大模型用鲁迅风写高考作文 大家来品品能打多少分
洛阳钼业:拟向参股公司CBC INVESTMENT增资不超3399.66万美元-全球热推荐
Vscode控制台乱码的最终解决方案
杭州一消防站门口出现千元外卖,这位“张女士”,消防员有话对您说
即时:NBA国际球员最强阵容:姚明恩比德难进首发,东契奇只能打第六人
深交所制定服务国有、民营上市公司两个专项工作方案 前沿热点
天天播报:win7桌面壁纸怎么设置自定义图片_win7桌面壁纸怎么设置
1999元 AOC推出新款27寸显示器:2K分辨率、四面微边设计
6岁女孩误吞口香糖后灵魂发问 不用担心:少量不会黏住肠道_天天热门
通吃G-Sync/FreeSync!LG发布新款4K 144Hz电竞显示器:IPS硬屏
知道为啥你的二手闲置卖不出去么?我教你
今日关注:DDR5内存超到11254MHz 居然不用液氮!但超高延迟没法看
天天快资讯:湖北今日这一地创今年气温新高!明后天晴热持续
Java对象中转换空值的字段 今日观点
世界报道:Web安全-渗透测试-基础知识05
当前观察:这就是信心|优化营商环境 各地硬招、实招频出
漫评美国通货膨胀:“陷入困境”