Bash'i bir dosyaya tee nasıl ekleyebilirim?


73

Bunlar terminalde yazdığım komutlar.

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

Output.log dosyasına baktığımda sadece 'İkinci Satır'ı görüyorum. Tişörtün eklendiğinden nasıl emin olabilirim (dosyayı silmek yerine)?

Bunu dosyada görebilmek istiyorum:

First Line
Second Line

Buna başka bir yoldan mı yaklaşmalıyım?

Teşekkürler!

Yanıtlar:


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

Gönderen adam tee :

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

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

Not: Kullanmak -ahala belirtilen dosyayı oluşturur.


12
Arama yapanların yararı için, -a değiştiricisi 'ekleme' içindir veya sonuna ekleyin. -A olmadan, tee komutu dosyanın üzerine yazar.
chili555

1
"-A" seçeneği eklendiğinde mevcut değilse tee dosyası hala oluşturuyor mu?
Bryson S.

@ chili555: Dosyanın başına sonuna kadar eklemek mümkün mü ve dosyanın üzerine yazmıyor mu? Teşekkürler.
Саша Черных

2
@ СашаЧерных Farkında değilim. Yeni bir soru için harika bir konu gibi geliyor!
chili555

1
@ Саша Черных 'kedi kaynak.dosyası hedef.dosyası | tee destination.file ', destination.file dosyasının başına source.file ekleyecektir. Bu yaklaşımın tek yakalaması, tee'nin her iki dosyayı da stdout'a yazdırmasıdır.
Bruno9779
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.