2013-04-04 2 views
7

मेरी नौकरी में बहुत बड़ी फाइलों से बहुत सारे सॉर्टिंग फ़ील्ड शामिल हैं। मैं आमतौर पर इसे sort बैश में कमांड के साथ करता हूं। दुर्भाग्यवश, जब मैं एक तरह से शुरू करता हूं, मुझे कभी भी यकीन नहीं होता कि यह कितना समय लगेगा। क्या मुझे परिणाम देखने के लिए एक सेकंड इंतजार करना चाहिए, या क्या मुझे कुछ और काम करने पर काम करना शुरू करना चाहिए?क्या लिनक्स में किसी प्रकार की प्रगति प्रदर्शित करना संभव है?

क्या इस बात का कोई संभावित तरीका है कि एक तरह से प्रगति हुई है या यह कितनी तेजी से काम कर रहा है?

$ cut -d , -f 3 VERY_BIG_FILE | sort -du > output 
+2

यह 'फ्लैट आउट' काम कर रहा है। यह पता लगाने का एक विश्वसनीय तरीका नहीं है कि यह कितनी दूर तक प्रगति हुई है और इसे कितना लंबा चलाना है। आप इस तरह के लिए चारों ओर/proc पोक करने में सक्षम हो सकते हैं और कुछ कटौती कर सकते हैं, लेकिन शायद नहीं। –

+0

शायद वैकल्पिक विकल्प दिनचर्या? अधिकांश प्रकार के दिनचर्या स्वयं (जैसे क्विकॉर्ट) कम से कम इस बारे में एक विचार है कि इस तरह के साथ कितना दूर है। –

उत्तर

8

नहीं है, जीएनयू sort रिपोर्टिंग प्रगति नहीं करता है।

हालांकि, अगर आप का उपयोग कर रहे sort सिर्फ डुप्लिकेट को निकालने के लिए, और आप वास्तव में आदेश देने के बारे में परवाह नहीं है, तो उस करने का एक more scalable way है:

awk '! a[$0]++' 

यह बाहर एक की पहली आवृत्ति लिखते हैं जैसे ही यह देखा जा रहा है, जो आपको प्रगति का विचार दे सकता है।

-4

आप पृष्ठभूमि में अपने "प्रकार" निष्पादित कर सकते हैं आप शीघ्र मिल जाएगा और आप अन्य नौकरियों

कर सकते हैं

$ तरह ...... & # (& पृष्ठभूमि में चलाने का मतलब है)

+3

जबकि आपका कथन निस्संदेह सही है, आपके उत्तर में प्रश्न के साथ कुछ लेना देना नहीं है। – tink

1

आप हो सकता है कि pv एक प्रयास करना चाहें, यह आपको थ्रूपुट के मामले में आपके पाइप में क्या हो रहा है इसका एक अच्छा विचार देना चाहिए।

उदाहरण (untested) पहले और sort आदेश के बाद इंजेक्शन लगाने pv प्रवाह क्षमता की एक विचार प्राप्त करने के लिए:

$ cut -d , -f 3 VERY_BIG_FILE | pv -cN cut | sort -du | pv -cN sort > output 

संपादित: मैं करने के लिए पहली बार अपने तरह आदेश में -u याद किया, तो लाइनों की गणना प्रतिशत आउटपुट प्राप्त करने में सक्षम होना शून्य है। मेरे जवाब से उस भाग को हटा दिया।

+0

जबकि 'पीवी' एक अच्छा उपकरण है, यह केवल एक विचार देता है कि यदि आप इसे कुल लंबाई बताते हैं तो आप वास्तव में कितने दूर हैं। – glglgl

+0

@glglgl मेरा उदाहरण संपादन से पहले '-s' का उपयोग करता था, लेकिन जैसा कि हम सॉर्ट के बाद आकार को नहीं जानते- मैंने इसे हटा दिया। ओपी ने एक समाधान के लिए कहा कि कम से कम यह निर्धारित करने में मदद करता है कि "यह कितना तेज़ काम कर रहा है" _, जो 'पीवी' करता है, वैसे भी। –

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

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