Sto cercando di ordinare alcuni semplici dati delimitati da pipe. Tuttavia, l'ordinamento non è in realtà l'ordinamento. Sposta la mia riga di intestazione in basso, ma le mie due righe che iniziano con 241 vengono divise da una riga che inizia con 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
Le intestazioni di colonna vengono spostate nella parte inferiore del file, quindi l'ordinamento lo sta chiaramente elaborando. Ma i valori effettivi non vengono ordinati come mi aspetterei.
In questo caso ho lavorato con esso
sort sort_fail.csv --field-separator='|' -k1,1
Ma penso che non dovrebbe essere necessario. Perché l'ordinamento non è l'ordinamento?
csvsort
da csvkit
, che gestisce i valori correttamente citato.
LC_COLLATE=C sort
. A seconda di cosa ti aspetti, potresti anche aver bisognoLC_COLLATE=C sort -t'|' -n