linux/bash: 大增 grep 的效率



前言

  • 當在「只有英文、數字、符號」的大檔案 (幾十萬行以上) 中,要尋找關鍵字時,總是覺得有點太慢。這時可以補上參數、以及指定 locale 來增加比對效率。



說明

調整 grep 參數

把原本的 grep 加上 -F 以及 -m 1

1
grep -F -m1 <text> <input_file>
  • -F 代表只比對固定的字串,不用去考慮是否有 pattern,因而增加效率。

  • -m 1 代表只要比對到一個符合的結果,就結束。


再快一點 (如果是 ASCII)

設定 LC_ALL=C 調整編碼

1
LC_ALL=C grep -F -m1 <text> <input_file>

如果你的檔案只有包含英文、數字、基本符號,也就是 ASCII 編碼的話,指定 LC_ALL=C 調整成 ASCII 編碼,而不是預設的 UTF-8,會讓比對的速度更上一層樓!




REF

Licensed under CC BY-NC-SA 4.0
最後更新 2024-05-08 10:47

主題 StackJimmy 設計