Antworten:
Du brauchst nicht cat.
head -1 file
wird gut funktionieren.
headdie 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.
catallein ist möglicherweise nicht möglich, aber wenn Sie dies nicht verwenden möchten, headfunktioniert dies:
cat <file> | awk 'NR == 1'
cat, nicht wahr?
awkist toll, aber du brauchst es cathier 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 readdiese 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 headoder awk.
IFS=Teil am Anfang?
IFSverhindert 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