Odpowiedzi:
Nie trzeba cat
.
head -1 file
będzie dobrze działać.
head
czyta cały plik i wycina go, czy czyta tylko 1 linię?
cat <(head file1) <(head file2)
. Źródło
Możesz użyć cat file.txt | head -1
, ale prawdopodobnie lepiej byłoby użyć bezpośrednio głowy, jak w head -1 file.txt
.
cat
samo może nie być możliwe, ale jeśli nie chcesz korzystać z head
tego działa:
cat <file> | awk 'NR == 1'
cat
, prawda?
awk
jest świetna, ale cat
tutaj nie potrzebujesz . awk 'NR == 2 {print $0}' <file>
robi to samo. (I wiele więcej, jeśli się trochę nauczysz awk
.
Dziwię się, że pytanie to istniało tak długo, jak było, i nikt nie podał jeszcze wbudowanego podejścia do mapowania.
IFS= read -r first_line <file
... umieszcza pierwszy wiersz pliku w zmiennej rozwiniętej o "$first_line"
, to takie proste.
Co więcej, ponieważ read
jest wbudowany w bash i takie użycie nie wymaga podpowłoki, jest znacznie wydajniejsze niż podejścia z udziałem podprocesów takich jak head
lub awk
.
IFS=
część na początku?
IFS
zapobiega usuwaniu wiodących i końcowych białych znaków z czytanego ciągu.
Użyj poniższego polecenia, aby uzyskać pierwszy wiersz z pliku CSV lub dowolnego formatu pliku.
head -1 FileName.csv