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.