マイナビニュース | grepコマンド最新版、"-i"で10倍の高速化

ニュース
トップ

grepコマンド最新版、"-i"で10倍の高速化

後藤大地  [2014/02/21]

The fastest grep in the west (we hope).

GNU grepコマンドの最新版となる「grep 2.17」が公開された。GNU grepコマンドはテキストデータから指定したパターンに一致する行を取り出すといった用途に使われることが多いコマンドで、UNIX系のオペレーティングシステムで使われる頻度が高いコマンドのひとつ。grepコマンドには大文字と小文字を個別せずに一致させるという指定を意味する「-i」オプションを提供しているが、「grep 2.17」ではこの部分の処理を変更し、場合によっては10倍を超える高速化に成功したと説明がある。

現在ではLC_ALL=Cの状態ではなくマルチバイトロケールが設定された状態で使われることがほとんど。英語のみの使用であっても環境変数LANGにはCではなくen_US.UTF-8を指定するなどマルチバイトロケールが設定された状態で使われていることが多い。こうした状態で「-i」を使うと、マルチロケールに存在するごくわずかなケースを処理するために「-i」の処理そのものがかなり負荷の高い処理になる。

「grep 2.17」では処理そのものを変更するのではなく、「-i」オプションを使わない表記に変換できる場合には、そちらの表記に変換してから処理を実施することで高速化を実現している。たとえば「grep -i foobar」といった指定で実行されているのであれば「grep '[fF][oO][oO][bB][aA][rR]'」のように変換してから実行することで高速化を実現している。また、マルチバイト回りでほかにも処理の高速化などが実施されている。

    マイナビニュースのセミナー情報

    オススメ記事

    マイナビニュースの集合特集

    関連サイト

    新着記事

    転職ノウハウ

    あなたの仕事適性診断
    あなたの仕事適性診断

    4つの診断で、自分の適性を見つめなおそう!

    Heroes File ~挑戦者たち~
    Heroes File ~挑戦者たち~

    働くこと・挑戦し続けることへの思いを綴ったインタビュー

    はじめての転職診断
    はじめての転職診断

    あなたにピッタリのアドバイスを読むことができます。

    転職Q&A
    転職Q&A

    転職に必要な情報が収集できます

    ドS美人面接官 vs モテたいエンジニア
    ドS美人面接官 vs モテたいエンジニア

    入室しようとしたら、マサカリ投げられちゃいました!?

    特別企画

    一覧

      人気記事

      一覧

      イチオシ記事

      新着記事

      特別企画

      一覧

        求人情報