Próbuję posortować proste dane rozdzielane potokami. Jednak sortowanie nie jest tak naprawdę sortowaniem. Przenosi mój wiersz nagłówka na dół, ale moje dwa wiersze zaczynające się od 241 są dzielone przez wiersz zaczynający się od 24.
cat sort_fail.csv
column_a|column_b|column_c
241|212|20810378
24|121|2810172
241|213|20810376
sort sort_fail.csv
241|212|20810378
24|121|2810172
241|213|20810376
column_a|column_b|column_c
Nagłówki kolumn są przenoszone na dół pliku, więc sortowanie wyraźnie je przetwarza. Ale rzeczywiste wartości nie są sortowane, jak się spodziewałam.
W tym przypadku pracowałem nad tym
sort sort_fail.csv --field-separator='|' -k1,1
Ale wydaje mi się, że nie powinno to być konieczne. Dlaczego sortowanie nie sortuje?
csvsort
z csvkit
, które prawidłowo obsługuje notowane wartości.
LC_COLLATE=C sort
. W zależności od tego, czego oczekujesz, możesz także potrzebowaćLC_COLLATE=C sort -t'|' -n