ディレクトリを指定せずに Grep コマンドを使用する [閉じる]

ディレクトリを指定せずに Grep コマンドを使用する [閉じる]

grepディレクトリパスを指定せずにコマンドを使用できますか?

例:

$ sudo grep "filename" /

私もこれを試しました:

 sudo find / -type f grep -l "filename"

まだ運がありません。

LoadModuleデフォルトでは、Apache2設定ファイルで指定された場所を検索しています。私はそれがここにあると思ったが、/etc/apache2/apache2.confそうではなかった。

ベストアンサー1

Grepは、ユーザーがファイル名またはファイル名のリストを提供することを期待しています。引数としてパスを使用しません。したがって、最初の試みは次のように書くことができます。

sudo grep searchstring /*

ルートディレクトリのすぐ下のすべてのファイルを検索します。 (ご希望の内容ではない場合があります。)

編集する:GNU grepは実際に再帰的に検索できるため、次のことができます。

sudo grep -r searchstring /

2番目のケースでは、findの仕組みを誤解しました。-typeあなたが探しているファイルの種類を知らせるためのパラメータが必要で、その後に「grep」を追加するだけでは何もしません。ただし、探しているすべてのファイルに対してコマンドを実行するように指示できます。このように:

sudo find / -type f -exec grep -l searchstring {} \;

{}「ファイル名」を意味し、\;「コマンドが完了しました」を意味します。

おすすめ記事