Isso não responde realmente à sua pergunta; Eu suspeito que o motivo head
é lento é o dado na resposta de Julie Pelletier : o arquivo não não contém nenhum (ou muitos) feeds de linha, então head
precisa ler muito para encontrar linhas para mostrar. O head
certamente não precisa ler o arquivo inteiro antes de fazer nada, e ele pára de ler assim que tiver o número de linhas solicitado.
Para evitar lentidão relacionada a feeds de linha, ou se você não se importa em ver um número específico de linhas, uma maneira rápida de examinar o início de um arquivo é usar dd
; por exemplo, para ver os primeiros 100 bytes de hugefile
:
dd if=hugefile bs=100 count=1
Outra opção, dada em Por que o GNU head / tail leu o arquivo inteiro? , é usar a opção -c
para head
:
head -c 100 hugefile