मैं कुछ सरल पाइप-सीमांकित डेटा को सॉर्ट करने का प्रयास कर रहा हूं। हालाँकि, वास्तव में सॉर्ट नहीं है। यह मेरी हेडर पंक्ति को नीचे तक ले जाता है, लेकिन 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