To jest proste pytanie, ale nie mógł znaleźć odpowiedzi, znalazłem i próbowałem tee output.txt
i system_profiler > output.txt
ale bez powodzenia, oszczędzają pusty plik tekstowy. Jak zapisać dane wyjściowe terminala za pomocą polecenia w terminalu w systemie OSX El Capitan?
macos
command-line
mac
terminal
osx-el-capitan
hzleonardo
źródło
źródło
system_profiler > output.txt
Odpowiedzi:
Zakładając, że
command
to polecenie, które chcesz uruchomić, możesz przesłać dane wyjściowe do pliku output.txt, używając:lub
Jeśli to nie piekło, może to wynikać z faktu, że wydruk nie jest drukowany,
stdout
ale włączonystderr
. Potok>
jest niejawnym zapisem, dla1>
którego oznacza „potokstdout
do ...”.Jeśli chcesz także potokować
stderr
do pliku, możesz użyćTo
stderr
powoduje przesyłanie wszystkich danych wyjściowych do deskryptora pliku1
(=stdout
), który z kolei jest przesyłany do pliku tekstowego.źródło
>output 2>&1
. Alternatywnie w bash możesz użyć&>output
lub>&output
zrobić oba jednocześnie; zobacz stronę manuala.bash
lubdash
, robicat bad 2>&1 >output
wysyłając komunikat o błędzie do tty i nic do pliku; CentOS (6)bash
lubdash
czyksh93
takie same, a przytcsh
tym daje błądAmbiguous output redirection
. Czy możesz podać przykład, który mogę pobrać (na x86-64) lub połączyć się z tym działaniem dla tego formularza?command 2>&1 | tee output.txt
co działa w ten sposób, ale masz rację, bo>
tak nie jest. Nigdy nie zauważyłem OoSyntex:
Przykład: załóżmy, że chcesz wyświetlić listę wszystkich plików i katalogów / home / jackson i zapisać wynik w /home/jackson/list.txt, więc polecenie będzie:
ale pamiętaj, jeśli plik /home/jackson/list.txt już istnieje i zawiera informacje, wówczas poprzednie polecenie usunie poprzednie informacje i zapisze dane wyjściowe polecenia. więc jeśli nie chcesz usunąć wcześniejszych informacji, użyj „>>” zamiast „>”. tak będzie twoje polecenie.
Mam nadzieję, że to pomoże ..
źródło
P: Jak zapisać dane wyjściowe terminala za pomocą polecenia w terminalu w systemie OSX El Capitan?
Odp .: Po prostu daj komputerowi wystarczająco dużo czasu na wykonanie tego konkretnego polecenia (około 30 minut).
Twoje polecenie powinno działać bez problemu.
Na moim komputerze Mac polecenie:
.. Wykonanie zajmuje około 1m30s.
Profiler systemu ma również opcje formatowania i limit czasu, jeśli jest to pożądane.
Odniesienie:
Wynik (z nl, aby policzyć numery linii). Ten plik jest taki sam jak polecenie i ma około 52000 linii.
system_profiler> output.txt nl output.txt
źródło