¿Cómo leo la primera línea de un archivo usando cat
?
No es necesario cat
.
head -1 file
Funcionará bien.
Usted no, use head
en su lugar.
head -n 1 file.txt
Hay muchas maneras diferentes:
sed -n 1p file
head -n 1 file
awk 'NR==1' file
Podría usar cat file.txt | head -1
, pero probablemente sería mejor usar la cabeza directamente, como en head -1 file.txt
.
Esto puede no ser posible con cat
. ¿Hay alguna razón para usar cat
?
Si simplemente necesita hacerlo con un comando bash, esto debería funcionar para usted:
head -n 1 file.txt
cat
por sí solo puede no ser posible, pero si no quieres usar head
esto funciona:
cat <file> | awk 'NR == 1'
cat
, ¿no es así?
awk
es genial, pero no necesitas cat
aquí. awk 'NR == 2 {print $0}' <file>
hace lo mismo (Y mucho más, si aprendes un poco awk
.
Me sorprende que esta pregunta haya existido tanto tiempo como lo ha sido, y nadie ha proporcionado el enfoque integrado previo al mapa previo todavía.
IFS= read -r first_line <file
... pone la primera línea del archivo en la variable expandida por "$first_line"
, así de fácil.
Además, debido a que read
está integrado en bash y este uso no requiere subshell, es significativamente más eficiente que los enfoques que involucran subprocesos como head
o awk
.
IFS=
parte al principio?
IFS
evita que los espacios en blanco iniciales y finales se eliminen de la cadena que se lee.
No necesita ningún comando externo si tiene bash v4 +
< file.txt mapfile -n1 && echo ${MAPFILE[0]}
o si realmente quieres cat
cat file.txt | mapfile -n1 && echo ${MAPFILE[0]}
:)
Use el siguiente comando para obtener la primera fila de un archivo CSV o cualquier formato de archivo.
head -1 FileName.csv
head
Lee todo el archivo y lo corta, o lee solo la línea 1?cat <(head file1) <(head file2)
. Fuente