Visualizza le prime righe di un file


24

Ho una cartella con parecchi file. Voglio visualizzare quanto segue:

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

ecc. Come posso farlo?

Risposte:


54

Si utilizza il headcomando per fare ciò, con l'argomento -n con il numero di righe di ciascun file, in questo modo:

head -n3 *

o

head -n3 *.txt

Questo funziona anche per un singolo file:

head -n3 filename.txt

Proprio come un commento (mi piace la pulizia della soluzione proposta), questo comando non scriverà i nomi dei file, ma solo le prime righe dei file
luri

@luri - Davvero? Nella headversione Ubuntu head (GNU coreutils) 8.5lo farà per impostazione predefinita. O forse stai usando un alias head --quiet?
organizzare il

@luri: Ha prodotto anche i nomi dei file per me.
David Oneill,

Accidenti sì ... era alias (--silent, in realtà, invece di --quiet) e non so perché. Due risposte in una per organizzare;)
luri

12

testa

Si utilizza headcon l' -nopzione.

head -n 10 FILE

Questo stamperà le prime dieci righe di un file.

Un'altra utile variante sarebbe -n -NUMBER.

head -n -10 FILE

Questo stamperà tutte tranne le ultime dieci righe di un file.

Per risolvere il problema e ottenere l'output desiderato, è possibile effettuare le seguenti operazioni.

basename * && head -n NUMBER *

o

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

Questo ti darà il seguente output:

FILENAME
LINE ONE
LINE TWO
LINE THREE

4

Questo farà quello che vuoi, si spera:

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

-printmostrerà il nome del file e il resto (da - exec) mostrerà le prime 3 righe di ciascun file

Modifica il numero in base alle tue esigenze ...


1

Per aggiungere il nome file all'output head usare 'head -v'. Quindi 'head -vn 3 * .html' mi dà:

# 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>
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.