Zeigen Sie die ersten Zeilen einer Datei an

24

Ich habe einen Ordner mit einigen Dateien. Ich möchte Folgendes anzeigen:

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. Wie kann ich das machen?

David Oneill
quelle

Antworten:

54

Verwenden Sie dazu den headBefehl mit dem Argument -n und der Anzahl der Zeilen aus jeder Datei wie folgt:

head -n3 *

oder

head -n3 *.txt

Dies funktioniert auch für eine einzelne Datei:

head -n3 filename.txt
ordnen
quelle
Nur als Kommentar (ich mag die Sauberkeit der vorgeschlagenen Lösung), schreibt dieser Befehl keine Dateinamen, sondern nur die ersten Zeilen der Dateien
luri
@ luri - Wirklich? In der Ubuntu- headVersion wird head (GNU coreutils) 8.5es standardmäßig. Oder verwenden Sie einen Alias head --quiet?
Ordnen Sie den
@luri: Es hat auch die Dateinamen für mich ausgegeben.
David Oneill
Verdammt ja ... es war voreingenommen (- leise, eigentlich, anstatt - leise) und ich weiß nicht warum. Zwei Antworten in einer für arrangieren;)
luri
12

Kopf

Sie verwenden headmit der -nOption.

head -n 10 FILE

Dadurch werden die ersten zehn Zeilen einer Datei gedruckt.

Eine weitere nützliche Variante wäre -n -NUMBER.

head -n -10 FILE

Dadurch werden alle bis auf die letzten zehn Zeilen einer Datei gedruckt.

Um Ihr Problem zu lösen und die gewünschte Ausgabe zu erhalten, können Sie Folgendes tun.

basename * && head -n NUMBER *

oder

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

Dadurch erhalten Sie folgende Ausgabe:

FILENAME
LINE ONE
LINE TWO
LINE THREE
Octavian A. Damiean
quelle
4

Dies wird tun, was Sie wollen, hoffnungsvoll:

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

-printzeigt den Dateinamen und der Rest (von - exec) zeigt die ersten 3 Zeilen jeder Datei

Ändern Sie die Nummer nach Ihren Wünschen ...

luri
quelle
1

Um den Dateinamen zur Kopfausgabe hinzuzufügen, verwenden Sie 'head -v'. Also gibt mir 'head -vn 3 * .html':

# 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>

quelle