単語を含むファイルを表示するためにfindコマンドを使用する方法は?

単語を含むファイルを表示するためにfindコマンドを使用する方法は?

findコマンドを使用し、findコマンドが実際に見つけたファイルとそのパスだけをコンソールに出力したいと思います。このコマンドを使用すると、確認したすべてのファイルも表示されるためです。

私が使用するコマンドは次のとおりです。

find idle /* > find_idle.txt

検索した内容をすべて出力するようです。 「アイドル」のファイルにはヒット数が表示されません。私はLinux初心者です。

ベストアンサー1

以下を実行してみてください。

grep -r idle /

これは機能しますが、問題が発生する可能性があります。/procたとえば、仮想ファイルシステムからファイルを検索したくありません。停止、時間がかかる、または興味のない特別な種類のファイルの結果のみを含めることができます。

以下で検索する必要がある場合は、/次の情報が必要です。

find / -xdev -type f -exec grep -H idle '{}' +
  • /*トップレベルの「隠し」ファイルとディレクトリはスキップされます。そのような具体的な目標がなければ*最後まで残さないでください。

  • findテキストファイルから文字列を検索しないでください。それは多くのオプションを持っています。 find / -name idle名前付きファイルを見つけて、フルパスをidle印刷します。 find path-a path-bパス a とパス b に存在すると予想されるすべてのファイルをリストします。

    $ find path-a path-b
    find: ‘path-a’: No such file or directory
    find: ‘path-b’: No such file or directory
    
  • find -xdev他のファイルシステムに移動しないでください/proc。たとえば、/home他のファイルシステムの場合は、それを変更することをお勧めしますfind / /home -xdev ...

  • find -type fディレクトリやその他の特殊ファイルをフィルタリングします。

  • find -execこのファイル名を使用して他のプログラムを実行できます。+ファイル名のバッチを一度に渡す場合は特に使用してください。これはより効率的です。

おすすめ記事