command > file
gibi bir dosyayı, üzerine yazmak yerine dosyaya ekleyeceği şekilde nasıl yapabilirim?Çıktının bir dosyaya nasıl eklenir?
cevap
Kullanım >>
eklemek için:
command >> file
Evet.
command >> file
sadece stdout'u command
ait yönlendirmek.
command >> file 2>&1
stdout'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
Bunu tüm çıktı yakalama programı için kullanıyorum.sh 2> & 1 | tee -a screen.log. "-a" ifadesi temsil eder. – Xdg
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
.
“>>” operatörüne üç yıl önce değinildi ve OP, hangi eklerin kullanılacağını biliyor. –
(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.) –
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
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