2010-06-24 23 views
8

मैं समय सारिणी आरोही द्वारा एक पूरी फ़ाइल को पुन: व्यवस्थित करना चाहता हूं।मैं आरोही क्रम (कॉलम) द्वारा फ़ाइल को पुन: व्यवस्थित कैसे कर सकता हूं?

file.txt इस तरह दिखता है:

a 12.24 text 

a 1.45 text 

b 5.12 text 

मैं इसे चाहते हैं इस तरह देखने के लिए:

a 1.45 text 

b 5.12 text 

a 12.24 text 
+0

जब आप पाइथन का उपयोग कर सकते हैं तो अजीब का उपयोग क्यों करें? इसके अलावा, क्या यह 24 घंटे का प्रारूप है? –

+1

पायथन 2.6 में इस एक-लाइनर को आज़माएं: खोलें (r'temp2.txt ',' w ')। लेखसूची (क्रमबद्ध (खुला (r'temp.txt', 'r')। Readlines(), key = lambda line : फ्लोट (line.split() [1])) –

उत्तर

7

उपयोग sort linux कार्यक्रम, नहीं awk। ठीक:

sort -n -k 2 <filename> 
+1

स्पष्टीकरण के लिए, -n और -g के बीच का अंतर यहां समझाया गया है: http://stackoverflow.com/questions/1255782/whats-the-difference-between- सामान्य-न्यूमेरिक-सॉर्ट-एंड-न्यूमेरिक-सॉर्ट-विकल्प-i। – mbq

+0

ध्यान दें कि यह मानता है कि समय 24 घंटे के प्रारूप में हैं। – Costa

15

sort आदेश अपनी आवश्यकताओं awk की तुलना में बेहतर फिट हो सकता है।

# sort -gk 2 test.txt 
a 1.45 text 
b 5.12 text 
a 12.24 text 

जी उन्हें तार के बजाय संख्या के रूप में है। और -k 2 दूसरे कॉलम पर टाइप करता है।

+0

ध्यान दें कि यह मानता है कि समय 24 घंटे के प्रारूप में हैं। – Costa

+0

यदि दो पंक्तियों में एक ही समय हो सकता है, तो '-k2' उन्हें क्रमबद्ध करने के लिए पूरी लाइनों की तुलना करने पर वापस आ जाएगा। एक 'एस' जोड़ना इस quirk बंद कर देगा। – hemflit

संबंधित मुद्दे

 संबंधित मुद्दे