序文 テキスト検索ツールといえば、Linux で最も便利でよく使われるツールの 1 つである grep は誰もが知っているはずです。 導入 ripgrep は、指定されたディレクトリで指定されたパターンを再帰的に検索する行ベースの検索ツールです。これは Rust 言語で書かれており、同様のツールに比べて驚くほど高速です。
ripgrepをインストールする まずRUSTをインストールする https://sh.rustup.rs -sSf を curl します。 次にEnterキーを押します。 RUSTでrigpreをインストールする git クローン https://github.com/BurntSushi/ripgrep cd ripgrep 貨物ビルド --リリース cp ./target/release/rg /usr/local/bin/ 最後のステップは、状況に応じて PATH 内のパスに配置することです。 使用 検索結果の表示 使用法 一般的な形式 使用法: rg [オプション] パターン [パス...] rg [オプション] [-e パターン ...] [-f パターンファイル ...] [パス ...] rg [オプション] --files [パス...] rg [オプション] --type-list コマンド | rg [オプション] パターン 入力パラメータ 引数: <パターン> 検索に使用される正規表現。 ダッシュの場合は、-e/--regexp フラグを使用します。 たとえば、リテラル「-foo」を検索するには、次のフラグを使用できます。 rg -e -foo 特別な「--」区切り文字を使用して、これ以上のフラグがないことを示すこともできます。 提供されます。つまり、以下は上記と同等です。 rg -- -foo <パス>... 検索するファイルまたはディレクトリ。ディレクトリは再帰的に検索されます。 コマンドラインは glob をオーバーライドし、ルールを無視します。
表示例 例1 $ rg '名前' ./ 例2 名前が独立した単語 (-w) であるコンテンツを検索します。これは <pattern> に相当します。 $ rg -w '名前' ./ 例3 一致する内容を含むファイル名のみを印刷する (-l) $ rg -w '名前' ./ -l src/cpp/epoll_server.cpp src/cpp/uart_xtor.cpp 例4 cppファイルのみを検索します(-t)。-Tを使用すると特定の種類のファイルを除外できます。 $ rg -w '名前' ./ -tcpp 例5 通常検索 (-e) $ rg -e "sa.*ポート" ./ -tcpp 例6 一致する内容と、その上下2行を表示します(-C)。-A/-Bと同様です。 $ rg -e "sa.*ポート" ./ -tcpp -C2 例7 「デバッグ」のない行を表示する (-v) $ rg -v "デバッグ" -tcpp ./ 例8 一致する部分のみ表示 (-o) $ rg -e "if.*debug" ./ -tcpp -o 例9 大文字と小文字を区別しない (-i) $ rg -ie "if.*debug" ./ -tcpp -o 例10 パターンを定数文字 (-F) として扱います。.(){}*+ はエスケープを必要としません。検索する文字が - で始まる場合は、区切り文字として -- を使用するか、 rg -F "i++)" ./ -tcpp 例11 検索対象となるすべてのファイルを印刷します --files rg --ファイル 例12 出力組み込み認識ファイルタイプ $ rg --type-list agda: *.agda、*.lagda エイドル: *.エイドル アメイク: *.bp、*.mk asciidoc: *.adoc、*.asc、*.asciidoc アセンブリ: *.S、*.asm、*.s ats: *.ats、*.dats、*.hats、*.sats アブロ: *.avdl、*.avpr、*.avsc awk: *.awk bazel: *.bzl、ビルド、ワークスペース ビットベイク: *.bb、*.bbappend、*.bbclass、*.conf、*.inc bzip2: *.bz2 c: *.H、*.c、*.cats、*.h 陰謀: *.陰謀 テキスト: *.テキスト セイロン: *.セイロン クロージャ: *.clj、*.cljc、*.cljs、*.cljx cmake: *.cmake、CMakeLists.txt コーヒースクリプト: *.coffee 設定: *.cfg、*.conf、*.config、*.ini cpp: *.C、*.H、*.cc、*.cpp、*.cxx、*.h、*.hh、*.hpp、*.hxx、*.inl クレオール語: *.creole crystal: *.cr、プロジェクトファイル cs: *.cs cシャープ: *.cs cshtml: *.cshtml css: *.css、*.scss csv: *.csv サイソン: *.pyx d: *.d ダーツ: *.ダーツ dhall: *.dhall docker: *Dockerfile* elisp: *.el エリクサー: *.eex、*.ex、*.exs エルム: *.エルム エルラン: *.erl、*.hrl ファイル: *.fidl 魚: *.fish Fortran: *.F、*.F77、*.F90、*.F95、*.f、*.f77、*.f90、*.f95、*.pfo fsharp: *.fs、*.fsi、*.fsx gn: *.gn、*.gni 行く: *.go グルーヴィー: *.gradle、*.groovy 圧縮形式: *.gz h: *.h、*.hpp ハスケル: *.c2hs、*.cpphs、*.hs、*.hsc、*.lhs hbs: *.hbs hs: *.hs、*.lhs html: *.ejs、*.htm、*.html イドリス: *.idr、*.lidr java: *.java、*.jsp ジンジャ: *.j2、*.jinja、*.jinja2 jl: *.jl js: *.js、*.jsx、*.vue json: *.json、composer.lock .json: *.json ジュリア: *.jl jupyter: *.ipynb、*.jpynb コトリン: *.kt、*.kts 以下: *.以下 ライセンス:*[.-] licen [cs] e*、agpl-*[0-9]*、apache-*[0-9]*、bsd-*[0-9]*、cc-by-*、コピー、コピー[.-]、著作権、著作権[.-]*、eula、eula [.-] 9]、lgpl - *[0-9]*、licen [cs] e、licen [cs] e [.-] e [.-]*、[0-9]*、mpl-*[0-9]*、通知、[.-]*、ofl-*[0-9]*、agen [cs] e。 .-]*、lgpl [.-]*、licen [cs] e、licen [cs] e。* lisp: *.el、*.jl、*.lisp、*.lsp、*.sc、*.scm ログ: *.log lua: *.lua lz4: *.lz4 lzma: *.lzma m4: *.ac、*.m4 作成: *.mak、*.mk、GNUmakefile、Gnumakefile、Makefile、gnumakefile、makefile 男性: *.[0-9][cEFMmpSx], *.[0-9lnpx] マークダウン: *.markdown、*.md、*.mdown、*.mkdn matlab: *.m md: *.markdown、*.md、*.mdown、*.mkdn mk: mkファイル ミリリットル: *.ミリリットル msbuild: *.csproj、*.fsproj、*.proj、*.props、*.targets、*.vcxproj ニム: *.ニム ニックネーム: *.nix オブジェクト: *.h、*.m オブジェクト: *.h、*.mm ocaml: *.ml、*.mli、*.mll、*.mly org: *.org pdf: *.pdf perl: *.PL、*.perl、*.pl、*.plh、*.plx、*.pm、*.t php: *.php、*.php3、*.php4、*.php5、*.phtml ポッド: *.pod プロトコルバッファ: *.proto ps: *.cdxml、*.ps1、*.ps1xml、*.psd1、*.psm1 パペット: *.erb、*.pp、*.rb パース: *.パース py: *.py qmake: *.prf、*.pri、*.pro r: *.R、*.Rmd、*.Rnw、*.r rdoc: *.rdoc README: *README、README* rst: *.rst ruby: *.gemspec、*.rb、.irbrc、Gemfile、Rakefile 錆: *.rs sass: *.sass、*.scss スカラ: *.sbt、*.scala sh: *.bash、*.bashrc、*.csh、*.cshrc、*.ksh、*.kshrc、*.sh、*.tcsh、*.zsh、.bash_login、.bash_logout、.bash_profile、.bashrc、.cshrc、.kshrc、.login、.logout、.profile、.tcshrc、.zlogin、.zlogout、.zprofile、.zshenv、.zshrc、bash_login、bash_logout、bash_profile、bashrc、profile、zlogin、zlogout、zprofile、zshenv、zshrc スマート: *.tpl sml: *.sig、*.sml 大豆: *.大豆 スパーク: *.spark sql: *.psql、*.sql スタイラス: *.styl sv: *.h、*.sv、*.svh、*.v、*.vg svg: *.svg スウィフト: *.スウィフト スウィッグ: *.def、*.i systemd: *.automount、*.conf、*.device、*.link、*.mount、*.path、*.scope、*.service、*.slice、*.socket、*.swap、*.target、*.timer タスクペーパー: *.taskpaper tcl: *.tcl tex: *.bib、*.cls、*.ltx、*.sty、*.tex テキスタイル: *.textile tf: *.tf toml: *.toml、Cargo.lock ts: *.ts、*.tsx 小枝: *.小枝 テキスト: *.txt ヴァラ: *.ヴァラ .vb: *.vb verilog: *.sv、*.svh、*.v、*.vh vhdl: *.vhd、*.vhdl vim: *.vim vimスクリプト: *.vim ウェブidl: *.idl、*.webidl、*.widl ウィキ: *.mediawiki、*.wiki xml: *.xml、*.xml.dist .xz: *.xz yacc: *.y yaml: *.yaml、*.yml zsh: *.zsh、.zlogin、.zlogout、.zprofile、.zshenv、.zshrc、zlogin、zlogout、zprofile、zshenv、zshrc 要約する ripgrep の検索速度は非常に速く、コードを閲覧するときに非常に役立ちます。特に FZF と組み合わせると、すべてのプログラマーにとってその価値は無限であると信じています。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<br />言葉は、人間の思考や感情を伝えるために必然的に生み出されるものです。人類の文...
最近、Linux に Aphace、mysql、php をインストールするときに多くの問題に遭遇しま...
一つの環境CentOS 7にVMware Toolsをインストールしてホストの共有フォルダへのアクセ...
序文ご存知のとおり、nginx 構成ファイルは add_header ディレクティブを使用して応答ヘ...
GUNスクリーン:公式サイト: http://www.gnu.org/software/screen...
参考までに、JavaScriptのオブジェクトとメソッドを使用して実装されたWebピンボールゲームを...
1. Dockerネットワークモードdocker run が Docker コンテナを作成するときに...
CSS の 2D 変換を使用すると、移動、回転、拡大縮小、変形などの基本的な変換操作を 2 次元空間...
データベース インデックスは、テーブル操作の速度を向上させることを目的としたデータ構造です。高速なラ...
<br />セマンティクス化は一言で説明することはできないし、まだ公式かつ厳密な定義もあ...
Docker Hub公式サイト1. Pythonミラーを検索するdocker 検索 python 2...
1. サブクエリMySQL 4.1以降はサブクエリをサポートしていますサブクエリ:別のクエリ内にネス...
mysql-5.7.19-winx64インストールフリー版の設定方法、参考までに具体的な内容は以下の...
ルーティングとは何ですか?ルーティングとは、相互接続されたネットワークを介して送信元ステーションから...
CAST関数前回の記事では、型変換を表示するために使用する CAST 関数について説明しました。暗黙...