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?

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.


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


6
FIRSTLINE=`head -n 1 filename`

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


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
awk 'NR == 1' /etc/passwd

11
isso verificará o arquivo completo e retornará a primeira linha, que é ineficiente para o arquivo grande. read -r é melhor.
Richard
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.