Der Befehl head

head-featured

In diesem Beitrag lernen Sie den Befehl head kennen, welcher unter Linux- / UNIX-Betriebssystemen verwendet wird, um einen gegebenen Teil vom Anfang bzw. Kopf (head) einer Datei auszugeben. Da der Befehl Teil des essenziellen Pakets "coreutils" ist, ist er standardmäßig bereits vorinstalliert.

Neben der allgemeinen Syntax und den wichtigsten Optionen des Befehls lernen Sie auch seine Anwendung anhand einiger Beispiele kennen.

Allgemeine Syntax

Die allgemeine Syntax des Befehls head lautet folgendermaßen:

head [Optionen] [Datei(en)]

Standardmäßig gibt head die ersten 10 Zeilen jeder angegebenen Datei aus, wobei bei Angabe mehr als einer Datei jeweils zusätzlich eine Kopfzeile mit dem Dateinamen ausgegeben wird. Wird keine Datei oder die Zeichenkette "-" übergeben, so liest head vom Standard-Input stdin.

Wichtige Optionen

Im Folgenden werden einige wichtige Optionen für den Befehl head vorgestellt:

-c - Erste Anzahl Bytes ausgeben

Mit der Option -c lässt sich eine spezifische Anzahl [N] Bytes vom Anfang einer Datei ausgeben. Weiterhin können durch optionales Anfügen des Präfix "-" (Minus) an den der Option -c übergebenen Parameter auch alle außer den letzten [N] Bytes der Datei ausgegeben werden.

head -c [-][N] [Datei(en)]

Optional kann [N] auch ein Multiplikator als Suffix angehängt werden. Für diese gilt: b (512), kB (1000), K (1024), MB (1000*1000), M (1024*1024), GB (1000*1000*1000), G (1024*1024*1024) und so weiter.

Beispiel: Option -c

In diesem Beispiel soll eine bestimmte Anzahl Bytes vom Anfang einer Datei ausgegeben werden.
Inhalt /home/hellberg/hedv.txt:

Im Folgenden ist der Inhalt der hier verwendeten Datei "hedv.txt", welche sich im Verzeichnis /home/hellberg/ befindet, zu sehen.

Der Inhalt
dieser Datei
wird nun
zeilenweise
festgelegt

Eingabe:

Der Option -c wird in diesem Fall eine "3" übergeben, um die ersten drei Bytes der Datei auszugeben.

head -c 3 /home/hellberg/hedv.txt

Ausgabe:

head gibt die Zeichenkette "Der" aus, welche den ersten 3 Bytes der Eingabe entspricht. (Der Speicherbedarf pro Zeichen beträgt hier mit der Zeichenkodierung UTF-8 1 Byte)
Zu beachten ist, dass der Ausgabe ein Zeilenumbruch am Ende fehlt, weswegen der auf die Befehlsausführung folgende Prompt direkt auf derselben Zeile angezeigt wird.

Der

Beispiel: Option -c (mit "-")

Hier sollen alle Bytes einer Datei außer einer spezifischen Anzahl Bytes vom Ende der Datei ausgegeben werden.
Inhalt /home/hellberg/hedv.txt:

Ähnlich wie im vorigen Beispiel wird wieder die Datei "hedv.txt" unter /home/hellberg/ verwendet.

Der Inhalt
dieser Datei
wird nun
zeilenweise
festgelegt

Eingabe:

Nun wird die Option -c mit dem Parameter "-10" verwendet.

head -c -10 /home/hellberg/hedv.txt

Ausgabe:

Es werden in diesem Fall die ersten vier Zeilen der Datei ausgegeben, da die letzte Zeile mit einer Länge von 10 Bytes abgeschnitten wurde.

Der Inhalt
dieser Datei
wird nun
zeilenweise

-n - Erste Anzahl Zeilen ausgeben

Soll anstelle der standardmäßigen ersten 10 Zeilen eine andere Anzahl [N] Zeilen ausgegeben werden, so kann diese mit der Option -n spezifiziert werden. Auch hier können durch Anhängen eines Präfix "-" (Minus) alle Zeilen außer der letzten [N] Zeilen ausgegeben werden.

head -n [-][N] [Datei(en)]

Weiterhin können hier auch wieder dieselben Multiplikatoren verwendet werden, wie auch bei der Option -c.

Beispiel: Option -n

Die Option -n wird hier verwendet, um eine bestimmte Anzahl Zeilen vom Anfang einer Datei auszugeben.
Inhalt /home/hellberg/profi-tutorials/benutzer.txt:

Die Datei "benutzer.txt" im Verzeichnis /home/hellberg/profi-tutorials/ hat den folgenden Inhalt.

hedv
hellberg
admina
bibo
tiffy
kermit

Eingabe:

Um die ersten beiden Zeilen auszugeben wird die Option -n mit dem Parameter "2" verwendet.

head -n 2 /home/hellberg/profi-tutorials/benutzer.txt

Ausgabe:

hedv
hellberg

Beispiel: Option -n (mit "-")

In diesem Beispiel soll head verwendet werden, um alle Zeilen, außer einer bestimmten Anzahl Zeilen am Ende einer Datei, auszugeben.
Inhalt /home/hellberg/profi-tutorials/benutzer.txt:

Der Inhalt der Datei "benutzer.txt" bleibt unverändert so wie im letzten Beispiel.

hedv
hellberg
admina
bibo
tiffy
kermit

Eingabe:

Der Option -n wird diesmal der Parameter "-4" übergeben.

head -n -4 /home/hellberg/profi-tutorials/benutzer.txt

Ausgabe:

Die Ausgabe ist genau gleich wie bei Verwendung der Option -n mit dem Parameter "2". Es wurden jedoch diesmal die letzten vier Zeilen der Eingabedatei abgeschnitten, um dasselbe Ergebnis zu erhalten.

hedv
hellberg

-q - Keine Kopfzeilen ausgeben

Wird die Option -q (quiet) verwendet, so gibt head - bei Angabe mehrerer Dateien - keine Kopfzeilen mit den Dateinamen aus:

head -q [Datei(en)]

-v - Immer Kopfzeilen ausgeben

Die Option -v (verbose) führt dazu, dass head immer Kopfzeilen mit den Dateinamen ausgibt, auch wenn nur ein Dateiname übergeben wurde:

head -v [Datei(en)]
Beispiel: [Titel]

Dieses Beispiel demonstriert die durch die Option -v erzwungene Ausgabe von Kopfzeilen mit Dateinamen. Zugunsten einer besseren Übersichtlichkeit wird hier nur die erste Zeile einer (ohnehin einzeiligen) Datei ausgegeben.
Eingabe:

Neben der Option -v wird zur Ausgabe der ersten Zeile die Option -n mit dem Parameter "1" verwendet.

head -v -n 1 /home/hellberg/befehl-sudo.txt

Ausgabe:

head gibt nun vor Beginn der Ausgabe der ersten Zeile der übergebenen Datei erst den Dateinamen in einer Kopfzeile aus. Die Kopfzeile beginnt mit dem Präfix "==> " und endet mit dem Suffix " <==".

==> /home/hellberg/befehl-sudo.txt <==
Der Linux-Befehl sudo.

-z - NUL-Trenner verwenden

Anstelle des Zeilenumbruchs wird bei Verwendung der Option -z (zero-terminated) das Nullbyte (NUL) verwendet, um Zeilen zu trennen:

head -z [Datei(en)]

Abonniere JETZT unseren Newsletter!


Verpasse nie wieder neue Beiträge und exklusive Insider-Only-Inhalte!

Joel Benseler

Click Here to Leave a Comment Below

Leave a Comment: