web-dev-qa-db-ja.com

ディレクトリからテキストファイルでWordを見つける方法

_fileという名前のディレクトリがあり、_1や_2のような2つのサブディレクトリがあり、それぞれにいくつかのテキストファイルがあるとします。これらのテキストファイルの1つでfooのようなWordを検索したい。どうすればそれができますか?ディレクトリ全体のどのテキストファイルにその単語が含まれているか知りたいですか?

32
  1. ターミナルを開きます。
  2. ack-grepと入力して、Sudo apt-get install ack-grepをインストールします
  3. 検索するディレクトリに移動し、ack-grep fooと入力します。そのディレクトリの下のすべてのファイルに一致するすべてのリストが表示されます。
10
Mahesh

追加のソフトウェアをインストールしたくない場合は、ターミナルでgrepを使用するだけです。ディレクトリを再帰的に検索するには、-rオプションを使用できます(詳細についてはman grepを参照)。あなたが探している構文は、おそらく次のとおりです。

grep -r "[STRING TO SEARCH FOR]" "[DIRECTORY TO SEARCH]"

たとえば、「/ tmp/testdir /」のすべてのサブディレクトリ内のすべてのファイルで文字列「asdf」を検索する場合、コマンドは次のようになります。

grep -r "asdf" "/tmp/testdir/"

引用符は必ずしも必要ではありませんが、文字列またはディレクトリパスに空白が含まれている場合は、\文字を使用してマスクする必要があります...

62
soulsource

再帰的なgrep-lフラグとともに使用して、一致した行ではなくファイル名のみを印刷できます。

grep -Rl foo .

または、findを使用できます。

find . -type f -exec grep -l foo {} +

または。 extglobと通常のgrepを使用できます

shopt -s extglob
grep -l foo **/*
7
terdon

gnome-search-toolを使用してSudo apt-get install gnome-search-toolをインストールするだけです
「ファイルの検索」をダッシュ​​で検索して起動します。

下の画像をご覧ください:

enter image description here

  1. 「次を含む」セクションは空のままにします。
  2. フォルダーを選択します。
  3. 「その他のオプションを選択」部分を展開し、「テキストを含む」を選択して、追加を押します。
  4. 検索するテキストをここに入力し、右下隅の[検索]をクリックします。

楽しい。

7
Parto