
grepをワイルドカード付きで使用する場合、
grep -in github */*
各ディレクトリにはgrep
次のような多くのメッセージが表示されます
grep: dir1/dir2: Is a directory
これらのメッセージを抑制するにはどうすればよいでしょうか?
--exclude-dir
驚いたことに、フラグを使用しても機能しません。
grep (BSD grep) 2.5.1-FreeBSD
MacOSで使用しています。
答え1
-d skip
grep はディレクトリをスキップします:
grep -in -d githubをスキップ/
によるとこのMaxOSのマニュアルページこのオプションはMacOSのgrepでは機能するはずです。MacOSのgrepでこれが機能しない場合は、インストールして自作MacOSパッケージマネージャーそしてHomebrewを使ってインストールしますGNU 版 grepGNU grep がサポートしているためです-d skip
(ただし、その場合は、GNU grep を含むディレクトリをPATH
環境変数の最初にする必要があります)。
答え2
find
に使用探すファイルgrep
とg/re/pファイル内:
find . -mindepth 2 -maxdepth 2 -type f -exec grep -in github {} \;
各ツールの名前には、その目的を示す大きなヒントが含まれています :-)。