端午节网站建设目的,wordpress移动端广告,成都网站建设yingrihe,物流网站建设策划书的总结linux常用命令介绍 05 篇——实际应用篇#xff08;用 cut、uniq等统计文档里每个关键词出现的次数#xff09;1. 先导文章——关于行过滤 和 列截取2. 关于单个统计单词个数2.1 grep2.2 wc3. 统计文档中每个关键词出现的次数3.1 先看文档内容 需求3.1.1 文档内容3.1.2 需求…
linux常用命令介绍 05 篇——实际应用篇用 cut、uniq等统计文档里每个关键词出现的次数1. 先导文章——关于行过滤 和 列截取2. 关于单个统计单词个数2.1 grep2.2 wc3. 统计文档中每个关键词出现的次数3.1 先看文档内容 需求3.1.1 文档内容3.1.2 需求3.2 分析并实现需求1. 先导文章——关于行过滤 和 列截取 前几天被问到一个问题之前没用过感觉挺尴尬的束手无策今天抽空去了解一下其实就两三个命令的事不过感觉也挺有意思的顺便记录下来供大家参考。 看这篇文章之前用到了其他工具如果需要的话可以看看下面的文章 linux常用命令介绍 03 篇——常用的文本处理工具之grep和cut以及部分正则使用.
2. 关于单个统计单词个数
2.1 grep
上篇文章里有介绍可以使用grep -c的命令进行统计如下grep -c www.google.com http.txt2.2 wc
wc 统计使用选项如下 wc -l统计单词出现的行次数wc -w统计单词出现的次数 使用例子如下grep www.google.com http2.txt | wc -w
grep www.google.com http2.txt | wc -l
cat http2.txt | grep 8080 | wc -w3. 统计文档中每个关键词出现的次数
3.1 先看文档内容 需求
3.1.1 文档内容
文档内容如下 https://www.google.com/index.html
https://www.baidu.com/index.html
https://www.zhihu.com/
https://www.csdn.net/
https://weread.qq.com/
https://www.baidu.com/hello.html
http://localhost:8080/hello.html
https://www.google.com/en.html
https://www.google.com/cn.html3.1.2 需求
想实现的需求就是把上面文档里的所有域名进行统计并排序打印要实现如下的效果前面是域名出现的次数后面是域名
3.2 分析并实现需求
观察文档里的内容分析如下
第一步列截取域名 首先我们提取的有规律是域名所以根据文档里内容的规律考虑使用列截取方法使用 cut 工具。此处不熟悉的可以点进去上面的链接。二话不说执行命令先看第一步效果cut -d/ -f3 http.txt嗯还不错浓缩出精华来了但是 localhost:8080 不是我们想要的怎么处理接下来第二步…… 第二步行过滤掉非域名 localhost:8080 根据第一步的效果我们在第二步里要把 localhost:8080 这个就要用到我们的 grep 行过滤了不太清楚的话还是点进去上面的链接这里不多说直接看效果 cut -d/ -f3 http.txt | grep -v localhost嗯貌似也还不错至少达到了我们第二步想要的效果了好接下来就是怎么统计并排序了这就需要用到我们另一个命令了uniq关于这个命令的使用可以看下面的文章在这里不做介绍如下 linux常用命令介绍 04 篇——uniq命令使用介绍Linux重复数据的统计处理. 第三步使用 uniq 命令 和 sort 命令进行排序并统计 对这两命令有疑问的点上面的链接里面有详细的介绍与使用示例。下面直接看效果cut -d/ -f3 http.txt | grep -v localhost | sort
cut -d/ -f3 http.txt | grep -v localhost | sort | uniq -c好几乎接近我们要实现的目标了就差怎么把前面统计的数字也给排序一下了继续往下…… 第四步按域名统计个数的数字大小进行排序 这步就是在上面基础上再使用一次 sort 即可生序、降序都可实现效果如下:cut -d/ -f3 http.txt | grep -v localhost | sort | uniq -c | sort
cut -d/ -f3 http.txt | grep -v localhost | sort | uniq -c | sort -r好了到这里就是完美地实现了上面的需求了 第五步可了解 当然上面四步已经实现了需求下面这个只是了解我就方上效果可以看看cut -d/ -f3 http.txt | grep -v localhost | sort | uniq -c | sort -r | awk {print $2,$1}
cut -d/ -f3 http.txt | grep -v localhost | sort | uniq -c | sort -r | awk {print $1,$2}好了这个就介绍到这里吧希望对你有帮助