procura em subdiretórios para todos os arquivos html contendo a tag abbr

2

Eu tenho um diretório que inclui muitos arquivos de diferentes extensões. O que eu quero é listar todos os arquivos .html que contiverem a tag.

    
por Maythux 13.06.2015 / 15:46

3 respostas

5

No terminal, use o comando find para localizar todos os arquivos terminados em .html e use o comando grep para filtrar os resultados para mostrar apenas os nomes dos arquivos que contêm <abbr> string:

cd /path-to-dir ## change directories to the root directory that you are searching from
find . -name "*.html" -exec grep -l '<abbr>' {} +  

O comando find procura por arquivos em uma hierarquia de diretórios de forma recursiva por padrão.

Ou combine os dois comandos em um único comando:

find /path-to-dir -name "*.html" -exec grep -l '<abbr>' {} +
    
por karel 13.06.2015 / 16:06
1

Uma solução simples:

grep -r "<abbr" --include="*.html" /path-to-dir
  • use -r para todos os subdiretórios.
  • Use --include='*html' para corresponder somente aos arquivos html.
por Maythux 13.06.2015 / 15:52
0

Para verificação (ou seja, o file name e o lines with <abbr> ), você pode usar um simples:

grep '<abbr>' /path-to-dir/*.html

Se você quiser apenas nomes de arquivos , use o seguinte:

grep '<abbr>' /path-to-dir/*.html | awk -F: '{ print  }' | sort | uniq
    
por boardrider 14.06.2015 / 22:37