Otrzymuję dane wyjściowe z programu, który najpierw tworzy jeden wiersz, który jest wiązką nagłówków kolumn, a następnie wiązką wierszy danych. Chcę wyciąć różne kolumny tego wyjścia i wyświetlić je posortowane według różnych kolumn. Bez nagłówka odcinające i sortowania jest łatwo realizowane poprzez -k
opcji sort
wraz z cut
lub awk
aby podzbiór kolumn. Jednak ta metoda sortowania miesza nagłówki kolumn z resztą wierszy danych wyjściowych. Czy istnieje prosty sposób na utrzymanie nagłówków na górze?
head
wczytuje więcej niż jedną linię do bufora i wyrzuca większość. Mój sed
pomysł miał ten sam problem.
lseek
możliwością wprowadzania danych, więc nie będzie działać podczas odczytu z potoku. Działa, jeśli przekierujesz do pliku, >outfile
a następnie uruchomisz{ head -n 1; sort; } <outfile
{ head -1; sort; }
. Zawsze usuwa wiązkę tekstu po pierwszym wierszu. Czy ktoś wie, dlaczego tak się dzieje?