2012年1月26日木曜日

へ~ grep使ってんだ、へ~、、、と言われたあの頃

そうそう、文字検索コマンドと言ったら grepですよね。
十数年前、Unixを使い始めて間もないころは grep使ってました。
…と、そこで、先輩に言われたのが titleのとおり。

当時のUnix使いの間では、
初心者は grepを使う
中級者は fgrepを使う
上級者は egrepを使う
…と私の周りでは言われていたらしい。

まー私はバリバリの初心者だったので身分相応だったことにはなりますけど。

今となっては私も egrep使いますけど、そもそも
grepの存在意義ってなんだったんだろう…と今でも思う (^^;)
マニュアルの最初の方に書いてあるからそっち使ってただけなんだけどね。
当時のSunOS4.xでは 速さは圧倒的に egrepの方が速かったんですよね。
#今のLinuxとかBSD OSとかは速度は変わらないかもだけど…。
#実態は同じ実行ファイルですし。 (ハードリンクしているケースがほとんど)
さらに言えば、egrepは検索ワードに正規表記も使えるので、
grepが egrepに勝る点が思いつかないっ (^^;)

みなさんは grep使ってます? fgrep? egrep?
私は fgrepと言うコマンドを経験することなく grep→egrepに移行してしまったので、
fgrepの需要が分からずじまいだったりします(汗
たしなみ程度にはプログラミングもするので、正規表記を覚えるためにも
egrepで 正規表記な検索に慣れておくと色々便利!! (viとかでも使えるしね!!!)
#まあ、プログラムによっては拡張正規表記とか、若干正規表記にも方言はありますが。

egrepの定番正規表記な検索めも
% egrep "^aaa" foo.txt    (先頭がaaaで始まる行の検索)
% egrep 'aaa$' foo.txt    (最後がaaaで終わる行の検索)
% egrep "hoge|bar" foo.txt (hogeまたはbarを検索)
% egrep "hoge.*bar" foo.txt (hoge.で始まりbarで終わる文字列)

 もしよかったら、参考にしてください~。

それではまた。

 知り合いブログ がんばれ日本なニュースもよかったら立ち寄ってみてください(^^)