Leer la primera línea de un archivo usando bash

8

¿Alguien sabe de un simple forro para leer la primera línea de un archivo en bash?

ChrisInCambo
fuente

Respuestas:

24
read -r FIRSTLINE < filename

El mismo resultado que las otras respuestas, pero más rápido porque no genera ningún proceso, ya que "leer" es un comando bash incorporado.

Etienne Dechamps
fuente
buen punto, +1 para ti
drAlberT
Esto funciona mucho mejor que hacer 'head -n 1'. Estaba leyendo la primera línea de 265 archivos y mi tiempo pasó de aproximadamente 15 segundos a menos de 1 segundo
s3v1
16
head -1

simplemente

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

Almacena la línea en una variable para su uso posterior (tenga en cuenta los apóstrofos invertidos).

Terje Mikal
fuente
55
$ (comando) es una forma alternativa que evita el uso de ticks de retroceso, ni siquiera es fácil de encontrar en ciertos teclados.
drAlberT
1
buena respuesta, pero voy a rechazar porque la respuesta de e-t172 es mejor. Leer está destinado a esto, y está integrado para golpear, como él dice.
Lee B
2
nah, rechazar una "buena respuesta" porque no es la mejor posible, no es tan educado, ¿no crees?
drAlberT
3
Lee: ¿Por qué no simplemente votar en tu lugar? Los votos negativos solo se deben dar para obtener información incorrecta de hecho o fuera del tema.
MDMarra
1

head -n 1 debería hacer el truco

marca de fábrica
fuente
1
awk 'NR == 1' /etc/passwd
David Poblador i Garcia
fuente
1
esto escaneará el archivo completo, luego devolverá la primera línea, que es ineficiente para archivos grandes. leer -r es mejor.
Richard