同時に複数のディレクトリを再帰的に閲覧するには?

同時に複数のディレクトリを再帰的に閲覧するには?

私はgrep -r与えられたディレクトリのファイルで文字列の発生回数を探していました。

$ grep -r "string"アプリケーション/アセット/JavaScript
> app/assets/javascripts/my_file.js:この行にはひも

しかし、再帰的に検索したい場合はどうすればよいですか?複数のサブディレクトリ私の現在のディレクトリ?私が考えることができる唯一の方法は、grepを2回実行することです。

$ grep -r "string"アプリケーション/アセット/JavaScript
> app/assets/javascripts/my_file.js:この行には "ひも
$ grep -r "string" 仕様/JavaScript
>アプリ/アセット/javascripts/my_file.js:"ひも「というメッセージもここに表示されます。

上記の2つのgrepコマンドを1行にどのように組み合わせることができますか?私はすべてのファイルを検索したくないので、.その--exclude-dir下に他のディレクトリが多すぎて.明示的に除外できないため、これは実用的ではありません。

可能ですか?

ベストアンサー1

以下で複数のディレクトリを指定できますgrep

grep -r "string" app/assets/javascripts spec/javascripts

あるいは、時々、あなたが把握したいファイルをリストし、それを理解することがfindより役に立つかもしれません。

find app/assets/javascripts spec/javascripts -type f -print0 |
  xargs -0 grep "string"

または

find app/assets/javascripts spec/javascripts -type f -exec grep -H "string" {} +

おすすめ記事