複数のファイルの内容を Grep します。

複数のファイルの内容を Grep します。

私のオペレーティングシステムはSun Solarisです。SunOS sintscdldmu001 5.11 11.3 sun4v sparc sun4v

注文しましたがalter database backup controlfile to trace;点滅しました。

ファイルの内容を制御する必要があるときに検索を開始しました。今私は次のようなものが欲しいgrep *.trc | grep -i 'CONTROLFILE'

制御ファイルの内容を含むファイルを見つけるための正しいコマンドは何ですか?

答え1

grep -l

これにより、ファイル名と一致する行が印刷されます。複数の一致に対してファイル名を繰り返さない。

探している文字列がCONTROLFILEの場合は、次のことができます。

grep -li CONTROLFILE /path/to/trcfiles/*

これにより、CONTROLFILE文字列に一致する行を含むファイル名が出力されます。文字列が.trcファイルにあり、それが返されることを望むすべての場合は、コマンドの最後にパイプします。

grep -li CONTROLFILE /path/to/trcfiles/* | grep *.trc

答え2

"controlfile"キーワードで残りのファイルを検索するには、次のコマンドを使用します。 -iは検索で大文字と小文字を区別しません。

grep -i "controlfile" *.trc

ただし、コントロールファイルが残りのファイルの中から検索するパターンがあるファイルである場合は、コントロールファイルの内容を次のように渡す必要があります。

grep -f controlfile *.trc

残りの trc ファイルから制御ファイルの内容を検索します。

ファイルがある同じフォルダーにある場合は、*.trcを最後の引数として渡し、そうでない場合はそれに応じて絶対/相対パスを指定します。そのパスから始まり、残りのフォルダー内のファイルを繰り返し検索するには、-rパラメーターを使用します。

答え3

以下に示す方法を使用して、検索テキストを含むファイルを識別できます。

grep -il <control file entry> <path where   trc files are located> *

関連情報