कई पाइप किए गए आदेशों से आउटपुट पुनर्निर्देशित करना


1

यह काम:

find . -type f | xargs md5sum | sort

यह नहीं करता है और कई "md5sum: xyz नहीं मिला" त्रुटियां देता है:

( find . -type f | xargs md5sum | sort ) >~/md5.txt

उसी के लिए:

find . -type f | xargs md5sum | sort >~/md5.txt

यह काम:

md5deep -r . | sort >~/md5.txt

मैं यह समझना चाहूंगा कि पाइप निर्माण का पुनर्निर्देशन काम क्यों नहीं करता है।


आपका तीसरा उदाहरण मेरे लिए वैध आउटपुट का उत्पादन करता है। आप किस ऑपरेटिंग सिस्टम पर परीक्षण कर रहे हैं?
डेर होकस्टापलर

Ubuntu 10.04.4 LTS + बैश संस्करण 4.1.5 (1) -release (x86_64-pc-linux-gnu)
KIAaze

जवाबों:


3

बहुत संभवतया, फ़ाइल नाम के साथ शुरू xyzहोता है white space
आप यह कोशिश कर सकते हैं:

$ find . -type f -print0 | xargs -0 md5sum | sort

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