2013-03-07 9 views
7

stdout नहीं है, मैं कई फ़ाइलों को stdout पाइप करना चाहता हूं, लेकिन stdout स्वयं को शांत रखें। tee करीब है, लेकिन यह दोनों फ़ाइलों और stdoutएकाधिक फ़ाइलों में पाइप, लेकिन

$ echo 'hello world' | tee aa bb cc 
hello world 

यह काम करता है लेकिन यदि संभव हो तो

$ echo 'hello world' | tee aa bb cc >/dev/null 
+3

'टीईए बीबी सीसी' में, 'टीई' को 3 फाइलें लिखनी होंगी, और आपके पास अभी भी एक फ़ाइल में मानक आउटपुट को रीडायरेक्ट करना है। 'टीईए बीबी> सीसी' में, आपके पास बैश रीडायरेक्ट है, लेकिन' टीई 'को केवल 2 फाइलों को लिखना होगा। मैं कहूंगा कि दूसरा अधिक कुशल है, लेकिन केवल सख्त अर्थ में; आप कभी अंतर नहीं देखेंगे। – chepner

उत्तर

11

आप बस का उपयोग कर सकते मैं कुछ सरल पसंद करेंगे करने के लिए प्रिंट:

echo 'hello world' | tee aa bb > cc 
1

आप कर सकते हैं/dev/full

echo 'hello world' | tee aa bb cc >/dev/full 
पर लिखकर टीई स्टडआउट आउटपुट को बंद करें

या stdout बंद करके।

echo 'hello world' | tee aa bb cc >&- 

लेकिन ध्यान रखें कि आप मिल जाएगा या तो रहो "टी: मानक आउटपुट: डिवाइस पर कोई स्थान छोड़ दिया" या "टी: मानक आउटपुट: खराब फ़ाइल डिस्क्रिप्टर" चेतावनी।

+0

'/ dev/null', नहीं '/ dev/full' – anishsane

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