侧边栏壁纸
博主头像
liveJQ博主等级

沒有乐趣,何来开始

  • 累计撰写 179 篇文章
  • 累计创建 68 个标签
  • 累计收到 2 条评论

结果让人大跌眼镜,Shell 命令获取文件行数速度对比

liveJQ
2024-09-02 / 0 评论 / 0 点赞 / 214 阅读 / 508 字

这里有一个文本文件ip_file.txt,里面每一行有一个IP地址,需要计算这个文本到底保存了多少个IP地址。

第一个肯定是我们最快想到也是最长用的wc,这里用time来计算命令执行的时间,这里以real实际执行时间为准。

root@noc:~# time echo $(wc -l < result/ip_file.txt)
9165

real	0m0.028s
user	0m0.001s
sys	0m0.008s
root@noc:~# time echo $(awk 'END {print NR}' result/ip_file.txt)
9165

real	0m0.014s
user	0m0.009s
sys	0m0.005s

root@noc:~# time echo $(sed -n '$=' result/ip_file.txt)
9165

real	0m0.009s
user	0m0.000s
sys	0m0.009s
root@noc:~# time echo $(grep -c '^' result/ip_file.txt)
9165

real	0m0.008s
user	0m0.000s
sys	0m0.008s

从以上结果来看,最常用的命令却是执行最慢的,看来很多脚本都还有很大的优化空间。

0

评论区