そのディレクトリのロットファイルでその文字列を検索して見つかった場合は、ファイル名と行を保存します

そのディレクトリのロットファイルでその文字列を検索して見つかった場合は、ファイル名と行を保存します

名前の異なる複数のファイルがあります。特定の形式はありません。しかし、すべてが.txt。たとえば、

example.txt
flower.txt
abc.com.txt

これらは同じディレクトリにあります。すべてのファイルで文字列(たとえば)を含む行を検索し<html>、見つかったらその文字列を含む行を抽出したいと思います。次に、検索結果を次のresults.txtファイルに保存したいと思います。

ファイル名、行

たとえば、<html>文字列がおよびで見つかった場合、結果ファイルは次のようになります。example.txtabc.com.txt

example.txt,<html>[the rest of the line where html is found]
abc.com.txt,<html>[the rest of the line where html is found]

Linuxでこれをどのように達成できますか?

ベストアンサー1

このgrepコマンドは、コメントで受け入れられた操作を正確に実行します。 (複数のファイルを保証できる場合は省略してください-H。)

grep -FH '<html>' *

この-Fフラグは正規表現処理をオフにするので、文字列はリテラルとして扱われます。

おすすめ記事