ฉันพยายามเรียงลำดับข้อมูลแบบง่าย ๆ อย่างไรก็ตามการเรียงลำดับนั้นไม่ได้เรียงจริง มันย้ายแถวส่วนหัวของฉันไปที่ด้านล่าง แต่สองแถวของฉันที่เริ่มต้นด้วย 241 ถูกแบ่งโดยแถวที่เริ่มต้นด้วย 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
ซึ่งจัดการค่าที่ยกมาอย่างเหมาะสม
LC_COLLATE=C sort
ใช้ ขึ้นอยู่กับสิ่งที่คุณคาดหวังคุณอาจต้องใช้LC_COLLATE=C sort -t'|' -n