0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Linuxでgrepとegrep(-E) を使い分けている人はいますか?私はgrepは使わず、egrepとfgrepを使い分けていますが、周りでそもそもegrepを使う人を見たことがなくて...

0
Last updated at Posted at 2026-01-19

実はすでにfgrepやegrepはPOSIX標準で非推奨コマンドになっています。これは将来的にコマンドがOSから削除される可能性があるということです。

なので一般的な回答としてはgrepをオプション付きで使うのが正しいです。…建前的には。

ただ本音を言うと、非推奨となってからずいぶん長い間削除されずに放置されていることから考えて、利用しているユーザーやスクリプトが一定数残っている(ので消せない)のだと思います。

おそらく現代のほとんどのシェルで、f/egrepとgrepは内部ルーチンも含めてほぼ同等です。速度の差もないのでどちらが良いというルールはありません。実際「-」とかオプションを打ち込むより便利ですし、手が覚えているとなかなか抜け出せません。私も手が覚えていて変えられないコマンドがいくつかあります。Oh my zshで使っていたdocker compose up -d 用のdcupdとか。

とはいえ、 近年はgrepよりもずっと高速な「ripgrep」をインストールして使っている人も多いです。 ripgrepのコマンドはさらに短く「rg」です。個人的にはこっちの方が正規表現もファイル内の全文検索も爆速なのでおすすめですよ。

あと ファイル名の検索はfindの代わりの「fd」が爆速でおすすめです。 オプション無しで正規表現も使えます。

なお、オプションをよく使う人ならrgfとかrgeとかオプション付きショートカットコマンドを .zshrc などに書いて自分用に専用コマンドを作ってしまった方がずっと便利です。 指が覚えているならegrepやfgrepの裏側をripgrepに差し替えるとかも簡単にできますよ。

Linuxは歴史が短いようで長いOS (UNIXの移植なので) ですから、一般的なシェルでは今後も利便性を優先してegrepやfgrepも削除されずにこのままズルズルと行くかもしれません。超軽量Linuxなんかでは正規表現ライブラリごとごっそり削除されていることも多いですけどね。

ということで、まだコマンドが削除されていない限りは遠慮なく使って良いと思います。コマンドが廃止されても自分でショートカットを1行書けば使い続けることができますし、特に心配しなくていいと思いますよ。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?