_fileという名前のディレクトリがあり、_1や_2のような2つのサブディレクトリがあり、それぞれにいくつかのテキストファイルがあるとします。これらのテキストファイルの1つでfooのようなWordを検索したい。どうすればそれができますか?ディレクトリ全体のどのテキストファイルにその単語が含まれているか知りたいですか?
ack-grep
と入力して、Sudo apt-get install ack-grep
をインストールしますack-grep foo
と入力します。そのディレクトリの下のすべてのファイルに一致するすべてのリストが表示されます。追加のソフトウェアをインストールしたくない場合は、ターミナルでgrep
を使用するだけです。ディレクトリを再帰的に検索するには、-r
オプションを使用できます(詳細についてはman grep
を参照)。あなたが探している構文は、おそらく次のとおりです。
grep -r "[STRING TO SEARCH FOR]" "[DIRECTORY TO SEARCH]"
たとえば、「/ tmp/testdir /」のすべてのサブディレクトリ内のすべてのファイルで文字列「asdf」を検索する場合、コマンドは次のようになります。
grep -r "asdf" "/tmp/testdir/"
引用符は必ずしも必要ではありませんが、文字列またはディレクトリパスに空白が含まれている場合は、\文字を使用してマスクする必要があります...
再帰的なgrep
を-l
フラグとともに使用して、一致した行ではなくファイル名のみを印刷できます。
grep -Rl foo .
または、find
を使用できます。
find . -type f -exec grep -l foo {} +
または。 extglob
と通常のgrep
を使用できます
shopt -s extglob
grep -l foo **/*
gnome-search-tool
を使用してSudo apt-get install gnome-search-tool
をインストールするだけです
「ファイルの検索」をダッシュで検索して起動します。
下の画像をご覧ください:
楽しい。