第1个回答 推荐于2020-12-22
你是说用awk,sed之类的么?这两个的具体实现方式没研究过,但是实际应用中曾经用sed和用perl处理大量文本文件比较过,sed估计是没有做io的buffer把时间消耗在io读写上了,确实慢很多,cpu占用率也不高,因为对于sed的处理方式来说cpu太快io太慢,cpu无需全力运转。
perl的优化肯定比sed这个老古董好了,因此效率还不错的,如果是偶尔处理些大文件应该够用吧,
当然我记得perl也只能一个core跑满,如果你的应用对时间敏感比如是每日统计之类的应用或者数据量超大那么还是核心处理程序用C写,优化好流程然后由shell来调用比较好(当然前提是你写多核并行批量处理文本有点经验,要不然说不定还没sed快……)。