Сохранить вывод в текстовый файл с терминала Mac

19

Как я могу ввести команду, скажем, system_profiler, и сохранить результат где-нибудь на моем компьютере?

JShoe
источник

Ответы:

38

Просто с перенаправлением вывода :

system_profiler > file.txt

По сути, это примет вывод system_profilerи сохранит его в файл file.txt. Технически есть два разных «потока» вывода: стандартный вывод и стандартная ошибка. Они обрабатываются отдельно, и если вы используете простой метод перенаправления выше, вы будете перенаправлять только стандартный вывод в файл. Если вы хотите перенаправить как стандартный вывод, так и стандартную ошибку, вы можете сделать это:

system_profiler &> file.txt

Команда &велит оболочке перенаправлять стандартный вывод и стандартную ошибку в файл.

Если вы хотите просто вывести стандартную ошибку, вы можете сделать это:

system_profiler 2> file.txt

2Позволяет ноу оболочки, он должен только перенаправить стандартную ошибку.

Использование >перезапишет файл, если он уже там. Если вы хотите добавить его в файл, не удаляя старый, вы можете использовать >>, например, так:

system_profiler >> file.txt

Конечно, вы можете использовать &и 2для отправки как стандартной, так и стандартной ошибки, и просто стандартной ошибки с >>оператором.

Wuffers
источник
2
& >> похоже не работает в Mac Bash версии 3.2.48 (1) -релиз (x86_64-apple-darwin11). Я, когда я пытаюсь это, это говорит -bash: syntax error near unexpected token >. Все остальное работает.
Ночь
3

Перенаправление.

awesomo > somefile.txt
Игнасио Васкес-Абрамс
источник