Como faço grep listar a contagem de correspondências antes do nome do arquivo?

2

grep -cZ tem o comportamento estranho que, enquanto nomes de arquivos são nul-terminados, a contagem de correspondências aparece após o nome do arquivo correspondente. Via od -c :

0000000   /   u   s   r   /   i   n   c   l   u   d   e   /   u   c   o
0000010   n   t   e   x   t   .   h  
0000000   /   u   s   r   /   i   n   c   l   u   d   e   /   u   c   o
0000010   n   t   e   x   t   .   h  %pre%   1  \n   /   u   s   r   /   i
1 \n / u s r / i

Isso representa um problema peculiar, pois não posso usar diretamente o suporte de outros comandos (como sort , sed , etc.) para a entrada terminada em nul. Como eu faço grep postar a contagem primeiro?

    
por muru 09.01.2015 / 01:13

1 resposta

2

Canalize a saída para:

perl -pe 's/^(.*
perl -pe 's/^(.*%pre%)(\d+)\n/$2 $1/s'
)(\d+)\n/$2 $1/s'

que será exibido para cada correspondência: a contagem, um espaço, o nome do arquivo, \ 0, conforme solicitado no comentário.

    
por 09.01.2015 / 01:32

Tags