Bash玩转脚本3之几个指令有趣的筛选京东评价
今天在工作中遇到了一个筛选和去重问题,饶有兴致祭出Mac(为了跟公司同步,写Android一直用Win~),三两个指令搞定了去重复筛选问题,回到家中意犹未尽,决定总结一下这些年使用bash做数据筛选和去重的经验。
传送门:
Bash玩转脚本文章系列
一、数据
找数据是个头疼的问题,不过在百度过程中缺找到了一个蛮好的网站,推荐给大家http://www.datatang.com/,我从中下载了一个京东手机评价的数据,随便找了一组数据,命名为data.txt,作为本次玩耍的原始数据。
文本数据一共有多少行?
那就 wc -l
一下看看。(wc是一个统计的指令,“|“是管道,简单理解就是对前面的结果继续操作)
可以看到一共有346957行,内容还是蛮多的,我们截取文本部分内容,可以看到内容的结构如图所示:
基本上所有的数据的格式都是:
- No 编号
- uName 名字
- uLevel 等级
- uAddress 地址
- star 星级
- commentDate 时间
… - 购买日期 时间
ok,了解了结构那现在就可以对这份数据进行我们想要的任何操作了~
二、让我想想可能需要的数据
<1> 一共有多少个评价呢?
这里可以通过使用grep 指令对某个结构内一定会出现的关键字进行抓取,然后使用wc指令统计数量,我抓取的关键字是编号——”No”。
grep "No" data.txt | wc -l
</