Ubuntuのように「grep」を機能させる方法は?


24

grep端末で1つのパターンに一致させるために使用しようとしましたが、結果が出ません。

$ grep -R 'networks'
grep: warning: recursive search of stdin

私はgrepmacOSではBSDベースでありgrep、UbuntuではGNUベースであることを知っていました。

Ubuntuのように「grep」をmacOSで機能させる方法は?

回答:


33

この-Rオプションを使用grepする場合、MacOSでは、検索するディレクトリを明示的に指定する必要があります。たとえば、.現在のディレクトリを再帰的に検索するように指定します。

grep -R 'networks' .

9

長期的には、GNUベースのツールをインストールするか、Ubuntuを仮想的に実行するのがおそらく最善です。どちらも無料でご利用いただけます。

brew install coreutilshttps://brew.shbrewからhomebrewをインストールするために必要なコマンドを実行するには)、ツールのGNUバージョンをパスに入れます。coreutilsは含まれているものを時間とともに変化させる傾向があるので、インストールするコマンドと、場合によってはスタンドアロンパッケージを探します。ggrepgrep

(編集:2018年以降、grep特にcoreutils次のように個別にインストールする必要があることに注意してください

$ brew install grep
$ ggrep sometext file.txt     # Note the executable is called ggrep with two G's

ggrep2つのGを持つ一意の実行可能ファイル名を持っています。)

また、ここでGNUまたはcoreutilsを検索すると、コンテキストとヒント/トリックに役立ちます。


2
少なくとも今ことを注記grepに含まれていないcoreutilsパッケージbrewと呼ばれる独自のパッケージが、中grep
fejese

2
実行可能ファイルがggrep(先頭のg)と呼ばれるようになったことにも注意してください。
dotancohen 2018

1
@dotancohenに感謝-状況がわかっている場合は、回答を編集してください。変更履歴があり、変更が1人に不明確な場合、またはさらにレビュー/調整が必要な場合は、いつでもチャットできます。コメントの+
1-
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.