Bagaimana cara menambahkan output ke file?


125

Bagaimana saya bisa melakukan sesuatu seperti command > fileitu menambahkan file, bukan menimpa?


1
(Ada banyak dan banyak - mungkin terlalu banyak! - Barang dalam manual referensi bash termasuk semua jenis pengalihan. Sesuaikan sesuai kebutuhan untuk shell.)

4
Anda juga dapat menggunakan tee, jika Anda ingin mengarahkan ulang ke STDOUT dan menambahkan hasil ke file. Misalnya: gema "halo" | tee -a somefile.txt, di mana flag -a adalah singkatan dari append.
Henrik

Jawaban:



103

Ya.

command >> fileuntuk mengarahkan ulang stdout dari command.

command >> file 2>&1untuk mengarahkan stdout dan stderr ke file (berfungsi di bash, zsh)

Dan jika Anda perlu menggunakannya sudo, ingat itu adil

sudo command >> /file/requiring/sudo/privilegestidak bekerja, karena peningkatan hak istimewa berlaku untuk commandtetapi tidak shell bagian pengalihan. Namun, cukup gunakan teememecahkan masalah:

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


6
Saya menggunakan ini untuk semua program penangkapan keluaran .sh 2> & 1 | tee -a screen.log. "-a" adalah singkatan dari append.
Xdg

-3

Anda dapat menambahkan file dengan tanda >>. Ini memasukkan konten pada file terakhir yang kita gunakan.eg jika file biarkan namanya adalah myfile berisi xyz kemudian cat >> myfile abc ctrl d

setelah proses di atas, file myfile berisi xyzabc.


4
The >>Operator disebutkan tiga tahun sebelumnya sudah, dan OP tahu apa yang menambahkan berarti.
Dan Dascalescu
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.