2011-03-17 6 views
107

command > file gibi bir dosyayı, üzerine yazmak yerine dosyaya ekleyeceği şekilde nasıl yapabilirim?Çıktının bir dosyaya nasıl eklenir?

+1

(Her şey dahil olmak üzere çok fazla - belki de çok fazla! - güzellikler [bash başvuru kılavuzu] (http://www.gnu.org/software/bash/manual/bashref.html) yönlendirme türleri. Kabuk için gereken şekilde ayarlayın.) –

+4

Hem STDOUT'a yeniden yönlendirmek hem de sonuçları bir dosyaya eklemek isterseniz, tişört de kullanabilirsiniz. Örneğin: echo "merhaba" | tee -a somefile.txt, -a bayrağı eklemek için duruyor. – Henrik

+0

Olası çoğaltılabilir [Bash ile bir dosyaya hem stdout hem stderr'i nasıl yönlendirebilir ve ekleyebilirim?] (Https://stackoverflow.com/questions/876239/how-can-i-redirect-and-append-both-stdout -ve-stderr-to-a-dosya-ile-bash) – jww

cevap

180

Kullanım >> eklemek için:

command >> file 
93

Evet.

command >> file sadece stdout'u command ait yönlendirmek.

command >> file 2>&1stdout'u ve dosya için Stderr (bash eserleri, zsh)

Ve sudo kullanmanız gerekiyorsa, sadece

sudo command >> /file/requiring/sudo/privileges çalışır, ancak sadece etmediğini hatırlamak yönlendirmek için tee çözer kullanarak sorun:

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

+6

Bunu tüm çıktı yakalama programı için kullanıyorum.sh 2> & 1 | tee -a screen.log. "-a" ifadesi temsil eder. – Xdg

-1

Dosyayı >> işaretiyle ekleyebilirsiniz. Bu dosyam sonra kedi xyz içeren dosya ismi de izin verirsek biz using.e.g dosyanın sonunda içeriğini eklemek >> dosyam abc ctrl d dosyam xyzabc içeren yukarıdaki işlemden sonra

.

+3

“>>” operatörüne üç yıl önce değinildi ve OP, hangi eklerin kullanılacağını biliyor. –