Mostrar las primeras líneas de un archivo


24

Tengo una carpeta con bastantes archivos. Quiero mostrar lo siguiente:

filename_1
first line of file1
second line of file1
third line of file1
filename_2
first line of file2
second line of file2
third line of file2
filename_3
first line of file3
second line of file3
third line of file3

etc. ¿Cómo puedo hacer eso?

Respuestas:


54

Utiliza el headcomando para hacer esto, con el argumento -n con el número de líneas de cada archivo, así:

head -n3 *

o

head -n3 *.txt

Esto también funciona para un solo archivo:

head -n3 filename.txt

Solo como un comentario (me gusta la limpieza de la solución propuesta), este comando no escribirá los nombres de los archivos, sino solo las primeras líneas de los archivos
— luri

@luri - ¿En serio? En la headversión de Ubuntu head (GNU coreutils) 8.5, por defecto lo hará. ¿O tal vez estás usando un alias head --quiet?
— organizar el

@luri: También generó los nombres de archivo para mí.
— David Oneill

Maldita sea, sí ... tenía un alias (- silencioso, en realidad, en lugar de --quiet) y no sé por qué. Dos respuestas en una para organizar;)
— luri

12

cabeza

Usas headcon la -nopción.

head -n 10 FILE

Esto imprimirá las primeras diez líneas de un archivo.

Otra variación útil sería -n -NUMBER.

head -n -10 FILE

Esto imprimirá todas menos las últimas diez líneas de un archivo.

Para resolver su problema y obtener el resultado deseado, puede hacer lo siguiente.

basename * && head -n NUMBER *

o

basename *.FILETYPE && head -n NUMBER *.FILETYPE

Esto te dará el siguiente resultado:

FILENAME
LINE ONE
LINE TWO
LINE THREE

4

Esto hará lo que quieras, con suerte:

find . -print -exec head {} -n 3 \;

-printmostrará el nombre del archivo y el resto (desde - exec) mostrará las primeras 3 líneas de cada archivo

Cambia el número de acuerdo a tus necesidades ...


1

Para agregar el nombre del archivo a la salida del encabezado use 'head -v'. Entonces 'head -vn 3 * .html' me da:

# head -vn 3 *.html
==> WebInfo.html <==
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>

==> convert.html <==
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>

==> misc.html <==
<html>
<head>
<title>WIP</title>
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.