Ubuntuでコンテンツで検索する方法


8

サーバー全体をコンテンツで検索したいのですが。(テキストファイル)

grep -rl "text here"を実行すると、フリーズします。

どうしますか

そして、それは通常どのくらいかかりますか?

回答:


17

grepコマンドを使用するときは、ファイルを指定する必要があります。使用しているコマンドで、標準入力を検索しています...

お試しくださいgrep -r "test" directory


7
find / -name "*.txt" -exec grep "text here" {} \; -print 2>/dev/null

これは人間の言葉で説明すると次のようになります。

  1. 見つける
  2. から始まる /
  3. * .txtという名前のすべてのファイル内(引用符はシェルの解釈をバイパスするためのものです)
  4. 結果のヒットで、以下を実行します
  5. grep "ここでテスト"
  6. ファイル{}内
  7. execの終わり(\;)エスケープされたステートメントの終わり
  8. 一致するファイルを印刷する
  9. シンクのエラーメッセージをリダイレクトします(rootでない可能性があるため、それ以外の場合はsudoを実行するだけです)。

「find:missing argument to 'grep'」と表示されている
webnat0

ここで動作します。「test here」をどのように置き換えましたか?
Alain Pannetier、2011

1
@Daeyun:バックスラッシュは1つだけです。
追って通知があるまで一時停止。

1
@デニス。母国語によって異なります。日本と韓国では、円記号が円記号またはウォン記号(0x5c)としても表示される文字セットがいくつかあります。また、u + 20E5もご覧ください。過去にIISにはいくつかのエクスプロイトがあり、実際のスラッシュと偽(ASCIIプランで変換された他の同等のUnicode)スラッシュと少なくとも1つは、逆固相線オーバーレイを使用しています。
Alain Pannetier、2011

0

検索するファイルの種類を指定するのを忘れた場合は
、必ずrootとしてログインしてください

cd /
grep -rl "text here" *  > /tmp/match.txt

これには非常に長い時間がかかります。後で/tmp/match.txtを確認することで結果を収集できます


0

次のコマンドは、現在の作業ディレクトリとすべてのサブディレクトリで、.txtで終わるすべてのファイルを検索します。

find . -type f -name '*.txt' -exec grep -Hn "text here" {} \;

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.