こんにちは。iQeda [@iQeeeda] です。
理解していないプロジェクトファイルから、それっぽい単語でそれっぽいファイルを探したい
こういうことやりたいときってありませんか?ファイル探すのって結構めんどくさいですよね…
こんな経験はないですか?
PC の検索窓・エディターの検索機能を使ったら…
- コレジャナイ検索結果😇
- 絞りこんでも結果が返ってこない
- リモートサーバのファイルだからエディターの検索機能がつかえない😇
そんなとき grep や ripgrep を使うのがいいですよ
Linux コマンド初心者にはとっつきにくいと感じるかもしれませんが、grep
コマンドを使うのがシンプルにして最強の解決方法です!
たとえば grep -r [キーワード] ./*
というコマンドを使うと、
現在ディレクトリ以下「全ファイルの中身をキーワード検索」します。
ここで ripgrep というライブラリを使うと、もっと簡単な記述で高速検索も実現できます!
Web 開発では、かなりの頻度でファイル調査が伴うので grep
はマスターした方がいいですよ。
今回はその全文検索ライブラリ ripgrep の導入・使い方について解説します!
目次
ripgrep とは
一言で言うと rg
コマンドで全文検索してくれる grep ライブラリです。
全文検索とは
指定キーワードが文章中に含まれていたら、そのファイル名と該当箇所を全て表示する検索機能です。
- ripgrep では拡張子・エンコードの種類を無視して全文検索が可能
- しかし圧縮ファイルの中身は grep 不可能
- 圧縮ファイルの中身を grep したいときは
zgrep
コマンドなど使いましょう
- 圧縮ファイルの中身を grep したいときは
前提知識
コマンドでディレクトリ移動できるだけの知識があれば ripgrep をはじめることができます!
ripgrep 動作環境
ご心配なく!どの OS でも ripgrep は動きます!
が、すみません… Windows 確認環境がないのでインストール方法を省略させてください。
こちらから ripgrep ダウンロードして PATH
を通せばいいみたいです。
ripgrep のインストール方法
Mac
Mac で Terminal アプリ、もしくは iTerm2 を起動してください。
個人的には iTerm2 がおすすめです。理由は後述します。
brew install
brew
コマンドを使ったことない方は こちら から Homebrew をインストールしてください。
下記コマンドで ripgrep をインストールしてください。
brew install ripgrep
Linux
GitHub の「Installation」項目に詳しいインストール方法が記載されています。
ここでは「RHEL / CentOS 7」と「Debian / Ubuntu」の方法を引用しておきます。
RHEL / CentOS 7
sudo yum-config-manager --add-repo=https://copr.fedorainfracloud.org/coprs/carlwgeorge/ripgrep/repo/epel-7/carlwgeorge-ripgrep-epel-7.repo
sudo yum install ripgrep
Debian / Ubuntu
curl -LO https://github.com/BurntSushi/ripgrep/releases/download/0.8.1/ripgrep_0.8.1_amd64.deb
sudo dpkg -i ripgrep_0.8.1_amd64.deb && rm ripgrep_0.8.1_amd64.deb
ripgrep の使い方
cd
コマンドでファイルがありそうなディレクトリに近づいて rg [キーワード]
するだけ!
こんな感じで実行します
下記画像では cd ~/Desktop
で移動した後 rg
コマンドで 「ripgrep」キーワードで検索しています。
メモディレクトリの中の ripgrepについて.txt
の中身がヒットしているのがわかりますね。
iTerm2 を使うとファイルをそのまま開ける
Mac ユーザが iTerm2 で ripgrep を使うとワンクリックでファイルも開けます!
先程の画像だと ripgrepについて.txt
というファイル名を ⌘ クリック
すればファイルが開きます。
# iTerm2 じゃなければ open コマンドを使いましょう
~/Desktop % open メモ/ripgrepについて.txt
iTerm2 をもっと知りたい方はこちら
iTerm2 はカラースキームが豊富で、ウインドウを半透明にできたりします。
また画面分割したり、全画面同時操作もできたりと多機能で非常におすすめです!
よくやる ripgrep の使い方
プロジェクトファイルで、どこになにがあるか分かっていないとき…
- ブラウザのデベロップツールの情報を頼りに ripgrep
- デベロップツールから見れる class 名で ripgrep
- デベロップツールから見れるメソッド名で ripgrep
- エラーログに対して ripgrep
- 現在日時でエラーが出ていないか ripgrep
- 何かしらのキーワードでエラーが出ていないか ripgrep
こんな感じでガリガリ検索をかけていきます。
慣れると知らないライブラリやプラグインの中身も修正できますよ。
全文検索を使いこなそう!
世の中のスーパーエンジニアは経験と知識でガリガリコードをコードを書いていきます。
しかし、それ以上にめっちゃ検索をかけます。検索能力が異常に高いです。
プログラミング初心者が全文検索を覚えるとそれだけで一つ上のステージに上がれます。
ripgrep は知る人ぞ知る的なライブラリなので知名度はそこまでですが、
僕はもっと早くに知りたかったなーということでご紹介しました!
参考リンク
ripgrep は奥が深く、正規表現でもっと複雑な検索が出来たりもします。
もっと詳しく知りたい人のために参考リンクを貼っておきます。
関連記事
zsh ロードマップ
お仕事ください!
僕が代表を務める 株式会社 EeeeG では Web 制作・システム開発・マーケティング相談を行っています。 なにかお困りごとがあれば、Twitter DM や Web サイトからお気軽にご相談ください。
カテゴリ「Develop」の最新記事
コメント