Antworten:
Du brauchst nicht cat
.
head -1 file
wird gut funktionieren.
head
die gesamte Datei und schneidet sie aus oder liest sie nur die 1 Zeile?
cat <(head file1) <(head file2)
. Quelle
Sie könnten verwenden cat file.txt | head -1
, aber es wäre wahrscheinlich besser, den Kopf direkt zu verwenden, wie in head -1 file.txt
.
cat
allein ist möglicherweise nicht möglich, aber wenn Sie dies nicht verwenden möchten, head
funktioniert dies:
cat <file> | awk 'NR == 1'
cat
, nicht wahr?
awk
ist toll, aber du brauchst es cat
hier nicht. awk 'NR == 2 {print $0}' <file>
macht das gleiche. (Und vieles mehr, wenn Sie ein wenig lernen awk
.
Ich bin überrascht, dass es diese Frage schon so lange gibt und noch niemand den in Pre-Mapfile integrierten Ansatz bereitgestellt hat.
IFS= read -r first_line <file
... fügt die erste Zeile der Datei in die um so "$first_line"
einfach erweiterte Variable ein .
Da read
diese Funktion in bash integriert ist und für diese Verwendung keine Unterschale erforderlich ist, ist sie außerdem wesentlich effizienter als Ansätze mit Unterprozessen wie head
oder awk
.
IFS=
Teil am Anfang?
IFS
verhindert das Löschen, dass führende und nachfolgende Leerzeichen aus der gelesenen Zeichenfolge entfernt werden.
Verwenden Sie den folgenden Befehl, um die erste Zeile aus einer CSV-Datei oder einem beliebigen Dateiformat abzurufen.
head -1 FileName.csv