Lesen Sie die erste Zeile einer Datei mit bash


8

Kennt jemand einen einfachen Einzeiler, um die erste Zeile einer Datei in Bash zu lesen?

Antworten:


24
read -r FIRSTLINE < filename

Gleiches Ergebnis wie die anderen Antworten, jedoch schneller, da kein Prozess ausgelöst wird, da "Lesen" ein integrierter Bash-Befehl ist.


Guter Punkt, +1 für Sie
drAlberT

Dies ist viel besser als 'head -n 1'. Ich las die erste Zeile von 265 Dateien und meine Zeit ging von ungefähr 15 Sekunden auf weniger als 1 Sekunde
s3v1


6
FIRSTLINE=`head -n 1 filename`

Speichert die Zeile in einer Variablen zur späteren Verwendung (beachten Sie die invertierten Apostrophe).


5
$ (Befehl) ist eine alternative Form, die die Verwendung von Back-Ticks vermeidet und auf bestimmten Tastaturen nicht einmal einfach zu finden ist.
DrAlberT

1
Gute Antwort, aber ich stimme ab, weil die Antwort von e-t172 besser ist. Lesen ist dafür gedacht, und es ist eingebaut, um zu schlagen, wie er sagt.
Lee B

2
Nein, eine "gute Antwort" abzustimmen, weil es nicht die bestmögliche ist, ist nicht so höflich, findest du nicht?
DrAlberT

3
Lee - Warum stimmen Sie nicht einfach dem zu, den Sie mögen? Abstimmungen sollten nur für sachlich falsche Informationen oder Themen außerhalb des Themas abgegeben werden.
MDMarra


1
awk 'NR == 1' /etc/passwd

1
Dadurch wird die gesamte Datei gescannt und anschließend die erste Zeile zurückgegeben, die für große Dateien ineffizient ist. read -r ist besser.
Richard
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.