タグ

grepに関するGlnのブックマーク (6)

  • GNU grep 2.18リリース: 10倍速くなったと思ったら今度は200倍遅くなっていた | はむかず!

    先日の記事 いまさらgrepが10倍高速化したのはなぜか が思わぬ閲覧数を稼いでしまい、トルコ語の知識を日に広めるのに大きな貢献をしたような気がしますが、みなさんいかがお過ごしでしょうか。 実は先日の記事を書いた時にはすでに2.18がリリースされてたのだが、今回は2.17のときと違って日の大手メディアが取り上げてなかったので、ついつい見落としていた。しかし実は2.18でも大きな変更が!! リリースノート抜粋: grep -i in a multibyte, non-UTF8 locale could be up to 200 times slower than in 2.16. [bug introduced in grep-2.17] なんということでしょう。-iオプションでUTF8のときは2.17で10倍速くなっていたのだが、それ以外のマルチバイトロケールのときは200倍遅くなって

  • いまさらgrepが10倍高速化したのはなぜか – はむかず!

    最近GNU grepコマンドの最新バージョンがリリースされ、速度が10倍になったとのアナウンスがあった。それを聞いて、なんであんな枯れた技術に10倍もの高速化の余地があったのだろうと不思議に思った人も多いだろう。 ニュース記事:grepコマンド最新版、”-i”で10倍の高速化 家のリリースノート:grep – News: grep-2.17 released [stable] 今回のリリースでは正確には、マルチバイトロケールで、-iオプション(–ignore-case、つまり大文字小文字を区別しないオプション)をオンにした時の速度が10倍くらいになったそうだ。 なぜそんなに速くなったのか?逆を言えば今までなぜそんなに遅かったのか? そもそも、多くの日人にとって「大文字小文字の区別」というと英語のアルファベットか、せいぜいフランス語とかドイツ語とかのアクサン記号・ウムラウトがついたものく

  • 第287回 Ubuntuで超高速grep「The Silver Searcher」を使う | gihyo.jp

    UNIXライクなOS上で作業をするとき、grepコマンドはなくてはならない存在です。そんな基的かつ古典的なユーティリティであるgrepですが、使いにくい面もあります。 2013年のはじめころから、grepに取って代わるコマンドとして「The Silver Searcher」(またの名を「ag⁠」⁠)が注目されはじめました。 今回のレシピでは、「⁠The Silver Searcher」(以下ag)をUbuntuで使用する方法を紹介します。 The Silver Searcher(ag)とは? プログラムを書いていると、ソースコード全域にわたって文字列を検索したい、ということはよくありますよね。そのようなときにもgrepコマンドが活躍するわけですが、プロジェクトのディレクトリには検索したくないファイルというものも存在します。 たとえばバージョン管理システムが使っている「.git」や「.sv

    第287回 Ubuntuで超高速grep「The Silver Searcher」を使う | gihyo.jp
  • Vector 新着ソフトレビュー 「gPad」 - 4種類の表示モードやgrep検索・置換など、充実した機能を誇る、軽快なテキストエディタ

    ファイル一覧やマクロなどを表示できるドッキングウィンドウ、正規表現やgrepにも対応した検索・置換機能など、多彩な機能を備えた高機能テキストエディタ。軽快に動作する。「gPad」は、複数ファイルを対象に、効率的に編集・検索を行える高機能テキストエディタ。タブ切り替え式ウィンドウで複数のファイルを同時に開けるほか、1タブ内を分割して2ヵ所を同時に表示させたり、1ファイルを複数のタブで表示させたり、「gPad」自体を複数起動し、別のウィンドウで表示させたりなど、さまざまな使い方ができる。スキンに対応し、外観をカスタマイズすることも可能。テキストの表示色や背景色を変更したり、キーワードを強調表示させたりもできる。標準的なテキスト、C/C++JavaScriptなどのプログラム言語、HTMLCSVなど、ファイル形式に合わせ、表示を自動(または手動)で切り替えることも可能。 テキスト編集エリアの

  • 最近覚えたコマンドライン処理の小ネタ - inoshiro's blog

    スクリプト書かないでコマンドだけでテキストファイルの処理ができるといろいろ楽。 最近覚えた使い方をメモメモ。 tsvファイルを特定のフィールドの値で分割する 1 hoge 123 2 fuga 456 3 hoge 111 4 fuga 333こんなファイルがあったとする。ファイル名はdata.txt awk '{file=$2 ".txt"; print > $file; close($file)}' data.txt フィールドの2番目の値に拡張子を付けてファイル名として、そのファイルにprintの出力をリダイレクトする。上のデータの場合はhoge.txtとfuga.txtができる。 close()しているのは、開くファイルが多くなり過ぎるとエラーになるため。 行数が多いファイルの特定範囲を抜き出す 数百万行とかあるログファイルをエディタで開くのはつらいので、特定範囲を切り出してから開

    最近覚えたコマンドライン処理の小ネタ - inoshiro's blog
    Gln
    Gln 2012/01/08
  • 【レポート】GNU grepが高速な理由 | エンタープライズ | マイコミジャーナル

    FreeBSD - The Power To Serve why GNU grep is fast (なぜGNU grepは高速なのか)といったタイトルの興味深いメールがFreeBSD開発者メーリングリストに投函された。メールを出したのはGNU grepのオリジナル開発者であるMike Haertel氏。Mike Haertel氏はFreeBSDユーザでもあり、FreeBSD開発者メーリングリストで興味深いやりとりがあったため、このメールを流したとしている。Mike Haertel氏の紹介する内容はgrep(1)の実装のみならず、高速な文字列処理を実現するひとつの方法として参考になる。紹介されているGNU grep高速さの秘訣は次のとおり。 GNU grepは入力バイトのすべてをチェックするようなことは避けている。 GNU grepはバイトごとに適用する操作を極力最小限に減らしている。 G

  • 1