usando comandos grep e wc para resolver um problema

1

Estou tentando descobrir como contar o número de linhas em file.txt que têm pelo menos um número ou dígito.

Até agora eu conto contará a quantidade de linhas:

wc -l filename.txt

Eu entendo que esse comando grep exibirá todas as linhas em file.txt que contêm pelo menos um dígito:

grep -E '[0-9]+' list.txt

Como eu os combino para encontrar a resposta para minha pergunta?

    
por user138788 16.10.2015 / 05:20

3 respostas

5

tente

grep -c -E '[0-9]+' list.txt

onde

  • -c significa contagem
por 16.10.2015 / 05:25
1
grep -c \[0-9] <infile

... isso deve ser tudo que você precisa.

    
por 16.10.2015 / 08:50
0

Use isto:

grep -rlZ '[0-9]' . | xargs -0 wc -l
  • grep com -r procurará todos os arquivos no diretório atual recursivamente
    • -l imprime somente o arquivo com pelo menos uma correspondência
    • -Z imprime esses nomes delimitados por nullbyte para lidar com nomes de arquivos especiais
    • '[0-9]' pesquisa os arquivos por dígitos
  • xargs -0 lê a lista dos arquivos (de grep produzido) delimitados pelo nullbyte
    • wc -l e chama wc -l para contar as linhas.

Exemplo de saída:

 3 ./file1
 6 ./dir/file2
 9 total
    
por 16.10.2015 / 08:06

Tags