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


19

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

Ответы:


38

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

system_profiler > file.txt

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

system_profiler &> file.txt

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

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

system_profiler 2> file.txt

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

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

system_profiler >> file.txt

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


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

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