Tenho vários arquivos, com nomes diferentes. nenhum formato específico para eles. Mas todos são .txt
. Por exemplo:
example.txt
flower.txt
abc.com.txt
Eles estão no mesmo diretório. Eu quero procurar uma linha de string em todos os arquivos, por exemplo <html>
. Então, se encontrado, quero extrair a linha onde a string foi encontrada. Então eu quero salvar os resultados da pesquisa em um arquivo results.txt da seguinte forma:
nome do arquivo, linha
Por exemplo, se a string <html>
foi encontrada em example.txt
and abc.com.txt
, o arquivo de resultados será:
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]
Como posso conseguir isso no linux?
O
grep
comando fará exatamente o que você aceitou nos comentários. (Se você puder garantir que há mais de um arquivo, poderá omitir-H
.)O
-F
sinalizador desativa o processamento de Expressão Regular, portanto, a string é tratada como literal.