Çıktı bir dosyaya nasıl eklenir?


125

command > fileÜzerine yazmak yerine dosyaya eklenecek şekilde bir şeyi nasıl yapabilirim ?


1
(Her tür yeniden yönlendirmeyi içeren bash başvuru kılavuzunda pek çok - belki de çok fazla! - güzellik var . Kabuk için gerektiği gibi ayarlayın.)

4
Hem STDOUT'a yeniden yönlendirmek hem de sonuçları bir dosyaya eklemek istiyorsanız tee'yi de kullanabilirsiniz. Örneğin: echo "merhaba" | tee -a somefile.txt, -a bayrağının ek anlamına geldiği yer.
Henrik

Yanıtlar:



103

Evet.

command >> filesadece stdout'u yeniden yönlendirmek için command.

command >> file 2>&1stdout ve stderr'i dosyaya yönlendirmek için (bash, zsh ile çalışır)

Ve kullanmanız gerekiyorsa sudo, unutmayın ki

sudo command >> /file/requiring/sudo/privilegesayrıcalık yükselmesi commandkabuk yeniden yönlendirme kısmı için geçerli olduğu, ancak bunun için geçerli olmadığı için çalışmaz . Ancak, basitçe kullanmak teesorunu çözer:

command | sudo tee -a /file/requiring/sudo/privileges


6
Bunu tüm çıktı yakalama programı için kullanıyorum program.sh 2> & 1 | tee -bir ekran.log. "-a", ekleme anlamına gelir.
Xdg

-3

Dosyayı >> işaretiyle ekleyebilirsiniz. İçeriği kullandığımız dosyanın son kısmına ekler.eg eğer dosya adı myfile ise xyz ve sonra cat >> myfile abc ctrl d

Yukarıdaki işlemden sonra myfile xyzabc'yi içerir.


4
>>Operatör zaten üç yıl önce de belirttiğimiz gibi ve OP araçlarını ekleme bilir.
Dan Dascalescu
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.