Windowsでの最良のgrepの代替は何ですか?
Linuxのgrepユーティリティは、多くのシステム管理者にとって、そのシンプルな検索機能とお馴染みの構文から人気があります。しかし、Windowsでは利用できないため、代替手段を使用するか、第三者のgrepツールをインストールしてエミュレートする必要があります。
dnGrep
`grep` はWindows向けの多くのサードパーティ実装がありますが、Linuxの `grep` とは正確には異なりますが、機能的にはほぼ同じです。CMDやPowershellを使用したネイティブのWindowsソリューションを求める場合、下で説明するような `FindStr` のような他のツールを使用できます。
最も優れた実装の一つがdnGrepで、コマンドラインの外で使用したい場合はリッチなGUIも備えています。WinGet、Windowsの新しい組み込みパッケージマネージャーからインストールするか、Githubからインストールできます。
winget install -e --id dnGrep.dnGrepこれによりインストールが求められますので、許可をクリックしてください。これで比較的速くインストールされるはずです。
スタートメニューの検索からdnGrepインターフェースを開くことができますが、良い機能の一つは、ファイルエクスプローラーから開始できる右クリックメニューへの追加です。
さまざまな grep 機能、正規表現、検索と置換、最も一般的なフラグのオプションを含むインターフェースが表示されます。また、「検索対象」設定を構成して、検索に引っかかるファイルをフィルタリングすることもできます。
検索をクリックすると、すべての検索結果が下のGUIパネルに表示されます。各ファイルを開いてサイドバーで確認できます。
これは素晴らしい経験ですが、コマンドラインから使用したい場合も可能です。しかし、これはWindowsアプリなので、CLIはLinuxのgrepとは異なります。そのため、スクリプトを調整する必要があるかもしれません。
WSLまたはGit Bashから実際のgrepを使用する
もちろん、Windows Subsystem for Linux(WSL)がインストールされている場合、純粋なLinuxターミナルにアクセスできます。これには、grepや類似のツールが含まれているでしょう。WSLはWindowsとの完全な相互運用性を持っていますが、仮想化に伴ういくつかのパフォーマンスへの影響があります。
WSLをインストールしたい場合は、セットアップに関するガイドを読んで詳細を学ぶことができます。あるいは、より良いCLI体験のためのエミュレーションレイヤーであるGit Bashを使用することもでき、grepの実装も含まれていますが、機能は限られています。
インストールが完了すると、通常のシステムと同じようにgrepを使用できますが、Windowsのファイルは/mnt/c/Users/のような場所にあるかもしれないことに留意してください。
FindStrを使用する
もし簡単に使える grep の代替品が必要であれば、PowerShell の FindStr コマンドが機能します。これは CMD と PowerShell スクリプトの両方から動作し、何もインストールする必要はありません。
findstr foo *基本的な正規表現と共に使用することもでき、/r フラグを使用します。
findstr /r "b.*" *




