Как добавить результат в файл?


125

Как я могу сделать что-то вроде command > fileдобавления к файлу вместо перезаписи?


1
справочном руководстве по bash есть много-много - возможно, даже слишком много! - вкусностей, включая всевозможные перенаправления. Отрегулируйте по мере необходимости для оболочки.)

4
Вы также можете использовать tee, если хотите перенаправить на STDOUT и добавить результаты в файл. Например: эхо "привет" | tee -a somefile.txt, где флаг -a означает добавление.
Хенрик

Ответы:



103

Да.

command >> fileперенаправлять только стандартный вывод из 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 | тройник -a screen.log. "-a" означает добавление.
Xdg

-3

вы можете добавить файл со знаком >>. Он вставляет содержимое в последний файл, который мы используем. Например, если файл пусть его имя - myfile, содержит xyz, то cat >> myfile abc ctrl d

после вышеуказанного процесса myfile будет содержать xyzabc.


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