कैसे बैश में एक फ़ाइल के लिए टी करने के लिए?


73

ये कमांड I प्रकार हैं जो टर्मिनल में हैं

echo -e "First Line" | tee ~/output.log
echo -e "Second Line" | tee ~/output.log

जब मैं फ़ाइल output.log में देखता हूं तो मुझे केवल 'दूसरी पंक्ति' दिखाई देती है। मैं यह कैसे सुनिश्चित कर सकता हूं कि टी संलग्न हो (बजाय फ़ाइल को मिटाए)?

मैं इसे फ़ाइल में देख पाऊंगा:

First Line
Second Line

क्या मुझे इसके लिए दूसरे तरीके से संपर्क करना चाहिए?

धन्यवाद!

जवाबों:


118
echo -e "First Line" | tee ~/output.log
echo -e "Second Line" | tee -a ~/output.log
                            ^^

से आदमी टी :

   Copy standard input to each FILE, and also to standard output.

   -a, --append
          append to the given FILEs, do not overwrite

नोट: -aअभी भी उपयोग की गई फ़ाइल बनाई गई है।


12
खोजकर्ताओं के लाभ के लिए, -a संशोधक 'परिशिष्ट' के लिए है, या अंत में जोड़ें। बिना -a, टी कमांड फाइल को ओवरराइट कर देता है।
चिली ५५५

1
क्या टी अभी भी फ़ाइल बनाता है अगर यह मौजूद नहीं है जब "-a" विकल्प शामिल है?
ब्रायसन एस।

@ chili555: क्या यह फ़ाइल की शुरुआत में संभव है, अंत तक नहीं, और एक फ़ाइल को अधिलेखित नहीं करता है? धन्यवाद।
Саша Черных

2
@ Саша Серных कोई भी ऐसा नहीं है जिसके बारे में मुझे जानकारी नहीं है। यह एक नए विषय के लिए एक महान विषय की तरह लगता है!
चिल्ली ५५५

1
@ Саша Черных 'बिल्ली source.file डेस्टिनेशन.फाइल | टी डेस्टी.फाइल 'गंतव्य.फाइल की शुरुआत में source.file को जोड़ देगा। इस दृष्टिकोण के साथ एकमात्र पकड़ यह है कि टी दोनों फ़ाइलों को रोकने के लिए प्रिंट करेगा।
ब्रूनो 9779
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.