ls -lh access.log
-rw-rw-r-- 1 keke keke 9.8G May 12 08:47 access.log
复制
为了实验的准确性,我选择了同一台主机,环境完全一致,每一个测试开始之前我也都清空了文件缓存(缓存影响非常大)。
sync
echo 3 > /proc/sys/vm/drop_caches
复制
time sed -n '1,$p' access.log >/dev/null
real 1m27.401s
user 0m10.555s
sys 0m12.987s
time sed -n '100000p' access.log
real 1m27.377s
user 0m5.478s
sys 0m11.267s
复制
time awk '{print $0}' access.log >/dev/null
real 1m28.749s
user 0m11.827s
sys 0m10.616
time awk 'NR==100000{print $0}' access.log
real 1m27.506s
user 0m11.386s
sys 0m10.578s
复制
time while read line;do echo $line >/dev/null;done < access.log
real 45m6.354s
user 39m43.833s
sys 5m21.525
复制
time cat access.log >/dev/null
real 1m27.954s
user 0m0.036s
sys 0m9.583s
time cat access.log |grep "10.120.0.81 | 30/Aug/2019:15:21:08 +0800"
real 1m27.926s
user 0m4.305s
sys 0m13.246s
复制
time head -32818237 access.log >/dev/null
real 1m27.371s
user 0m9.494s
sys 0m10.744s
time head -100000 access.log |tail -1
real 0m0.246s
user 0m0.027s
sys 0m0.096s
复制
time tail -32818237 access.log >/dev/null
real 21m54.679s
user 0m3.554s
sys 1m5.696s
复制
可以看到,linux常用的几个文本命令效率都差不多,对于简单的显示指定行,用head+tail的方式效率很高。当然,sed和awk有着强大的特殊功能,这些命令都是行处理的,不用担心把内存用尽。
文章转载自爱可可的人生记录仪,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
2025年4月中国数据库流行度排行榜:OB高分复登顶,崖山稳驭撼十强
墨天轮编辑部
1872次阅读
2025-04-09 15:33:27
2025年3月国产数据库大事记
墨天轮编辑部
868次阅读
2025-04-03 15:21:16
2025年3月国产数据库中标情况一览:TDSQL大单622万、GaussDB大单581万……
通讯员
604次阅读
2025-04-10 15:35:48
征文大赛 |「码」上数据库—— KWDB 2025 创作者计划启动
KaiwuDB
497次阅读
2025-04-01 20:42:12
数据库,没有关税却有壁垒
多明戈教你玩狼人杀
486次阅读
2025-04-11 09:38:42
国产数据库需要扩大场景覆盖面才能在竞争中更有优势
白鳝的洞穴
464次阅读
2025-04-14 09:40:20
最近我为什么不写评论国产数据库的文章了
白鳝的洞穴
405次阅读
2025-04-07 09:44:54
天津市政府数据库框采结果公布!
通讯员
359次阅读
2025-04-10 12:32:35
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
356次阅读
2025-04-17 17:02:24
优炫数据库成功入围新疆维吾尔自治区行政事业单位数据库2025年框架协议采购!
优炫软件
336次阅读
2025-04-18 10:01:22