パイプで区切られた単純なデータを並べ替えようとしています。ただし、並べ替えは実際には並べ替えではありません。ヘッダー行を下に移動しますが、241で始まる2つの行は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
列ヘッダーはファイルの下部に移動されているため、並べ替えが明らかに処理しています。しかし、実際の値は私が期待するようにソートされていません。
この場合、私はそれを回避しました
sort sort_fail.csv --field-separator='|' -k1,1
しかし、それは必要ではないように感じます。ソートがソートではないのはなぜですか?
csvsort
はcsvkit
、引用された値を適切に処理するfrom を使用できます。
LC_COLLATE=C sort
。あなたが期待している内容に応じて、あなたはまた、必要があるかもしれないLC_COLLATE=C sort -t'|' -n