मैं एक प्रारूप से दूसरे प्रारूप में कनवर्ट करने का प्रयास कर रहा हूं: उदा। "2 9 अक्टूबर, 2005" 2005-10-29 तक। मेरे पास 625 तिथियों की एक सूची है। मैं Awk का उपयोग करें।गॉक/अजीब: पाइपिंग तिथि गेटलाइन * कभी-कभी * काम नहीं करेगा
रूपांतरण कार्य - अधिकांश समय। होवर, कभी-कभी रूपांतरण नहीं होगा, और परिवर्तनीय (परिवर्तित) तिथि धारण करने वाला चर अपरिभाषित रहता है।
यह हमेशा एक ही पंक्तियों के साथ होता है। उन अजीब पंक्तियों की तारीख पर स्पष्ट रूप से (बाश खोल से) 'दिनांक' चलाना ठीक है (तिथियां ठीक से परिवर्तित होती हैं)। - यह उन पंक्तियों की पाठ्य सामग्री नहीं है जो मायने रखती हैं।
यह व्यवहार क्यों है, और मैं अपनी स्क्रिप्ट कैसे ठीक कर सकता हूं?
उसे यह है:
- डाउनलोड इस फाइल: uBXr0r15.txt
awk 'BEGIN { FS = "unused" } { x = "undefined"; "date \"+%Y-%m-%d\" -d " $1 | getline x ; print $1 " = " x }' uBXr0r15.txt \ > bug-out-3.txt
आप इस समस्या को पुन: पेश करना चाहते हैं।
- Awk skript चलाएं।
- बग-आउट-3.txt में "अपरिभाषित" के लिए खोजें।
("अनिर्धारित", 122 बार पाया अपने कंप्यूटर पर।)
तो फिर तुम स्क्रिप्ट चलाने सकता है फिर से, और (अपने कंप्यूटर पर) बग बाहर 3.txt अपरिवर्तित रहता है - वास्तव में एक ही तारीख को अपरिभाषित छोड़ दिया गया है।
(gawk संस्करण 3.1.6, Ubuntu 9.10।)
सधन्यवाद, मैगनस
यह मेरी समस्या हल करता है, धन्यवाद। मुझे मूल ऑर्डरिंग की आवश्यकता नहीं है और यदि मैं अपना इंडाटा पुन: व्यवस्थित करता हूं तो समस्या भी खत्म हो जाती है - और मैं कुछ सीपीयू को मानता हूं। (असली दुनिया इंद्र में गैर-तारीख पंक्तियां भी शामिल हैं, इसलिए मैं 'सॉर्ट' और 'यूनिक' का उपयोग नहीं कर सकता, और असली Awk स्क्रिप्ट कुछ अलग है।) – KajMagnus
धन्यवाद, यह मेरी समस्या हल करता है - मुझे एक त्रुटि मिल रही थी "बहुत सारी खुली फाइलें" और आश्चर्य की कि इन "फाइलों" को कैसे बंद करें क्योंकि मुझे पता नहीं था कि उन पाइप परिचालनों के लिए फ़ाइलों का अजीब उपयोग नहीं किया गया था। – flo
मैंने यादृच्छिक शोध के लिए एक समारोह के बाद की कॉलिंग पर इस समस्या को देखा। –