名前の異なる複数のファイルがあります。特定の形式はありません。しかし、すべてが.txt
。たとえば、
example.txt
flower.txt
abc.com.txt
これらは同じディレクトリにあります。すべてのファイルで文字列(たとえば)を含む行を検索し<html>
、見つかったらその文字列を含む行を抽出したいと思います。次に、検索結果を次のresults.txtファイルに保存したいと思います。
ファイル名、行
たとえば、<html>
文字列がおよびで見つかった場合、結果ファイルは次のようになります。example.txt
abc.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
フラグは正規表現処理をオフにするので、文字列はリテラルとして扱われます。