Zapisz dane wyjściowe w pliku tekstowym z terminala Mac

19

Jak mogę wprowadzić polecenie, powiedzmy, system_profiler i zapisać dane wyjściowe gdzieś na moim komputerze?

JShoe
źródło

Odpowiedzi:

38

Po prostu z przekierowaniem wyjścia :

system_profiler > file.txt

Zasadniczo zajmie to wynik system_profileri zapisze go w pliku file.txt. Istnieją technicznie dwa różne „strumienie” wyjściowe, standardowe wyjście i standardowy błąd. Są one traktowane osobno, a jeśli użyjesz powyższej prostej metody przekierowania, przekierujesz tylko standardowe wyjście do pliku. Jeśli chcesz przekierować zarówno standardowe wyjście, jak i standardowy błąd, możesz to zrobić:

system_profiler &> file.txt

&Mówi powłoce przekierowanie standardowego wyjścia i standardowego błędu do pliku.

Jeśli chcesz po prostu wyprowadzić standardowy błąd, możesz to zrobić:

system_profiler 2> file.txt

2Pozwala know powłoki, który potrzebuje tylko przekierowanie standardowego błędu.

Użycie >spowoduje zastąpienie pliku, jeśli już tam jest. Jeśli chcesz dołączyć go do pliku bez usuwania starego, możesz użyć w następujący >>sposób:

system_profiler >> file.txt

Możesz oczywiście użyć &i 2do wysłania zarówno standardowego błędu wyjściowego, jak i standardowego błędu, a także zwykłego błędu >>operatora.

Wuffers
źródło
2
& >> wydaje się nie działać w wydaniu Mac Bash w wersji 3.2.48 (1) (x86_64-apple-darwin11). Mówię, kiedy próbuję -bash: syntax error near unexpected token >. Wszystko inne działa.
Nacht
3

Przekierowanie

awesomo > somefile.txt
Ignacio Vazquez-Abrams
źródło