Leia a primeira linha de um arquivo usando o bash

8

Alguém conhece um liner simples para ler a primeira linha de um arquivo no bash?

ChrisInCambo
fonte

Respostas:

24
read -r FIRSTLINE < filename

O mesmo resultado que as outras respostas, mas mais rápido porque não gera nenhum processo, pois "read" é ​​um comando interno do bash.

Etienne Dechamps
fonte
bom ponto, um para você
drAlberT
Isso funciona muito melhor do que executar 'head -n 1'. Eu estava lendo a primeira linha de 265 arquivos e meu tempo foi de cerca de 15 segundos para menos de 1 segundo
s3v1
16
head -1

simplesmente

drAlberT
fonte
6
FIRSTLINE=`head -n 1 filename`

Armazena a linha em uma variável para uso posterior (observe os apóstrofos invertidos).

Terje Mikal
fonte
5
$ (comando) é uma forma alternativa que evita o uso de back ticks, nem mesmo simples de encontrar em certos teclados.
drAlberT 18/09/09
11
boa resposta, mas estou votando negativamente porque a resposta do e-t172 é melhor. O Read é destinado a isso, e está integrado ao bash, como ele diz.
Lee B
2
não, votar uma "boa resposta" porque não é a melhor possível, não é tão educado, não acha?
drAlberT 18/09/09
3
Lee - Por que não votar apenas no que você mais gosta? Os votos negativos devem ser dados apenas para informações factualmente incorretas ou para assuntos fora do tópico.
MDMarra 19/09/09
1

head -n 1 deve fazer o truque

brandstaetter
fonte
1
awk 'NR == 1' /etc/passwd
David Poblador em Garcia
fonte
11
isso verificará o arquivo completo e retornará a primeira linha, que é ineficiente para o arquivo grande. read -r é melhor.
Richard