Як додати вихід до файлу?


125

Як я можу зробити щось на кшталт command > fileтого, що воно додається до файлу замість перезапису?


1
(Є багато і багато - можливо, занадто багато! - ласощів у довідковому посібнику з bash, включаючи всілякі перенаправлення. Налаштуйте, як потрібно для оболонки.)

4
Ви також можете використовувати трійник, якщо ви хочете перенаправити на STDOUT і додати результати до файлу. Наприклад: відлуння "привіт" | tee -a somefile.txt, де прапор -a позначає додавання.
Генрік

Відповіді:



103

Так.

command >> fileперенаправляти тільки stdout з command.

command >> file 2>&1перенаправляти stdout та stderr у файл (працює в bash, zsh)

І якщо вам потрібно користуватися sudo, пам’ятайте це просто

sudo command >> /file/requiring/sudo/privilegesне працює, оскільки підвищення привілеїв застосовується до commandчастини перенаправлення оболонки, але не до неї. Однак просто використання teeвирішує проблему:

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


6
Я використовую це для всіх програм захоплення виводу .sh 2> & 1 | tee -a screen.log. "-a" означає додавання.
Xdg

-3

ви можете додати файл зі знаком >> Він вставляє вміст в останню частину файлу, який ми використовуємо. Наприклад, якщо файл нехай його ім'я myfile містить xyz, то кішка >> myfile abc ctrl d

після вищезазначеного процесу мій файл містить xyzabc.


4
>>Оператор був згаданий три роки тому вже, і ОП знає , що додавання коштів.
Дан Даскалеску
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.