सॉर्ट कमांड द्वारा दिनांक और समय के अनुसार सोलारिस + सॉर्टिंग फ़ाइल


1

मेरे पास सूची है जो /var/tmp/file.txt में किसी स्क्रिप्ट से बनाई गई है (सोलारिस मशीन में) निम्नलिखित सूची में 4 फ़ील्ड हैं

कृपया सलाह दें कि निम्नलिखित TIMESTAMP (सॉर्ट कमांड या अन्य सोलारिस कमांड द्वारा awk या sed .....) के अनुसार सूची को कैसे सॉर्ट करें

उदाहरण के लिए दिनांक और समय 15-10-2009 08:29:18 15-10-2009 08:29:10 ... आदि से पहले होना चाहिए

file.txt का उदाहरण (सॉर्ट की गई फ़ाइल नहीं)

  PHONE_NUMBER         TIMESTAMP                   ID  TYPE
  -------------------- -------------------        ---- -------------- 
  972544111222         15-10-2009 08:29:18         20  sharp_gx10
  33633333333          24-09-2009 16:17:45         20  other_mm_phone
  841990000043         08-10-2009 09:04:38         60  other_mm_phone
  972541230001         08-10-2009 14:23:48         20  other_mm_phone

1
खैर, टाइमस्टैम्प प्रारूप अपने आप में कष्टप्रद है :-)। यदि यह अंतरराष्ट्रीय स्तर पर मान्यता प्राप्त "YYYY-MM-DD HH: mm: ss" है, तो उन संयुक्त क्षेत्रों पर एक साधारण संख्यात्मक (अल्फा, सम) प्रकार तुच्छ होगा। अभी भी संभव है, बस कष्टप्रद।
डैनियल एंडर्सन

s / अंतरराष्ट्रीय स्तर पर मान्यता प्राप्त / ISO 8601 \ / RFC 3339 /
Eroen

जवाबों:


0

जैसा कि मैंने एक टिप्पणी में कहा, टाइमस्टैम्प प्रारूप मेरे दृष्टिकोण को जटिल लगता है, लेकिन यह ज्यादातर मैकेनिक दोहराव है।

awk 'NR>2 {print $1"-"$2"-"$3"-"$4"-"$5}' file.txt |\
awk -F'-' '{print $4"-"$3"-"$2"-"$5"-"$1"-"$6"-"$7}' |\
sort |\
awk -F'-' '{print $5"\t"$1"-"$2"-"$3" "$4"\t"$6"\t"$7}'
  1. पहले दो लाइनों को छोड़ें (केवल एक हेडर) और शेष लाइनों को एक सीमांकक (इस मामले में डैश) का उपयोग करने के लिए परिवर्तित करें, सुनिश्चित करें कि इसे अंतिम फ़ील्ड में प्रदर्शित होने की अनुमति नहीं है) (मूल रूप से यह व्हाट्सएप और डैश के बीच वैकल्पिक है, क्योंकि तारीख प्रारूप),
  2. डैश के साथ फ़ील्ड विभाजित करें और दिनांक को पंक्ति की शुरुआत के लिए (उपयोग में आसानी के लिए sort) और इसे एक अवरोही प्रारूप में प्रिंट करें,
  3. सॉर्ट और
  4. इनपुट (एक्सचेंज $1और $3पुरानी तारीख का प्रारूप प्राप्त करने के लिए) के समान प्रारूप में जानकारी वापस प्रिंट करें ।

हेडर लाइनों को बाद में जोड़ें यदि वे चाहते हैं।


संपादित करें : मैंने देखा कि आप एक रिवर्स प्रकार चाहते थे। बस sortकरने के लिए बदल जाते हैं sort -r

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.