Przypuszczam, że głupotą jest wzywać „bezużyteczne użycie kota” na linii specjalnie zaprojektowanej cat, prawda?
jkerian
Ta metoda jest świetna, ponieważ możesz wybrać dowolną linię.
desgua
3
@desgua awkjest świetna, ale cattutaj nie potrzebujesz . awk 'NR == 2 {print $0}' <file>robi to samo. (I wiele więcej, jeśli się trochę nauczysz awk.
Eric Wilson,
5
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ż readjest wbudowany w bash i takie użycie nie wymaga podpowłoki, jest znacznie wydajniejsze niż podejścia z udziałem podprocesów takich jak headlub awk.
head
czyta cały plik i wycina go, czy czyta tylko 1 linię?cat <(head file1) <(head file2)
. ŹródłoNie, użyj
head
zamiast tego.źródło
Istnieje wiele różnych sposobów:
źródło
Możesz użyć
cat file.txt | head -1
, ale prawdopodobnie lepiej byłoby użyć bezpośrednio głowy, jak whead -1 file.txt
.źródło
Może to nie być możliwe w przypadku
cat
. Czy jest powód, dla którego musisz skorzystaćcat
?Jeśli po prostu musisz to zrobić za pomocą polecenia bash, powinno to działać dla Ciebie:
źródło
cat
samo może nie być możliwe, ale jeśli nie chcesz korzystać zhead
tego działa:źródło
cat
, prawda?awk
jest świetna, alecat
tutaj nie potrzebujesz .awk 'NR == 2 {print $0}' <file>
robi to samo. (I wiele więcej, jeśli się trochę nauczyszawk
.Dziwię się, że pytanie to istniało tak długo, jak było, i nikt nie podał jeszcze wbudowanego podejścia do mapowania.
... 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 jakhead
lubawk
.źródło
IFS=
część na początku?IFS
zapobiega usuwaniu wiodących i końcowych białych znaków z czytanego ciągu.Nie potrzebujesz żadnych zewnętrznych poleceń, jeśli masz bash v4 +
lub jeśli naprawdę chcesz
cat
:)
źródło
Użyj poniższego polecenia, aby uzyskać pierwszy wiersz z pliku CSV lub dowolnego formatu pliku.
źródło