Costumo executar comandos grep para encontrar coisas no meu código, mas o problema com projetos da Web é que frequentemente haverá arquivos JavaScript e CSS compactados que criam uma enorme linha de texto, de modo que, se uma correspondência for encontrada, toda a janela do terminal será exibida. preenchido por mais de 1000 linhas, tornando extremamente impraticável encontrar o que estou procurando.
Portanto, existe uma maneira de evitar arquivos que digam linhas únicas de texto com mais de 200 caracteres?
... | grep -v -E '.{200}'
, também funciona. Por exemplo, para encontrar todas as linhas de arquivos * .js no diretório atual com ".name" nelas com mais de 200 caracteres:find . -name "*.js" -exec grep -H \\.name {} \; | grep -v -E '.{200}'
Opção 1: você pode excluir arquivos que correspondam a um determinado padrão:
Isso excluirá
script.min.js
estyle.min.css
... Outragrep
opção inclui--exclude-from=FILE
e--exclude-dir=DIR
Opção 2: Não sei se isso é prático, mas você pode
cut
os primeiros 200 caracteres de cada linha e, em seguida,grep
eles:O primeiro
grep
faz uma correspondência inicial e gera o nome do arquivo e a linha, o segundo garante que o arquivoPATTERN
ainda esteja lá após acut
marcação das linhas.fonte
Nesse tipo de situação, eu gosto de saudar um padrão com um contexto de vizinhança (digamos 30 caracteres):
fonte