[Linux/bash] zapis do pliku z terminala
Ostatnio zmodyfikowano 2016-08-10 22:53
Anim Temat założony przez niniejszego użytkownika |
[Linux/bash] zapis do pliku z terminala » 2016-08-10 21:52:03 Cześć.
Mam takie pytanie, czy jeśli mam plik wywoływany w terminalu, to czy mogę zapisać wyniki pojawiające się w oknie terminala do pliku?
Znalazłem możliwość zapisania do pliku przy użyciu symbolu '>'. Czy w takim razie, jak mam wykonywalny plik o nazwie 'program', to czy wystarczy, że zrobię coś takiego:
program > plik.txt
Czy powinienem użyć jakiegoś jeszcze parametru? a może jestem w ogóle w błędzie? Będę wdzięczny za każdą pomoc. Dziękować :) |
|
mateczek |
» 2016-08-10 22:31:14 przekierujesz w ten sposób wyjście do pliku w terminalu nic się nie pokarze!!! Zresztą co za problem przetestować z byle jaką komendą ?? np: uname -r > wynik.txt
|
|
Anim Temat założony przez niniejszego użytkownika |
» 2016-08-10 22:41:50 Dziękuję :) Problem z przetestowaniem jest taki, że nie nie mam dostępu do Linuxa w tym momencie, a nad tym problemem się zastanawiam :)
uname -r, powiadasz? a jak zrobić, jeśli mogę jeszcze spytać, aby jednocześnie się zapisywało i wypisywało na ekran? jest jakiś dodatkowy parametr? |
|
Gibas11 |
» 2016-08-10 22:42:19 prog > file przekieruje tylko standardowe wyjście a błędy zostaną wypisane w terminalu, by temu zapobiec trzeba użyć prog &> file . #include <iostream>
int main() { std::cout << "banan 1" << std::endl; std::cerr << "banan 2" << std::endl; return 0; }
#! /bin/bash ./main > t1 ./main &> t2
//t1 banan 1
//t2 banan 1 banan 2
//edit uname -r to tylko komenda wyświetlająca wersję kernela, przykład. Jeśli chodzi o zapis i wyświetlanie to różnie to można zrobić, ./main 1>&1 | tee t2 wypisze w terminalu wszystko a zapisze tylko stdout z kolei ./main 2>&1 | tee t2 wypisze i zapisze wszystko. //edit2 Przydatna tabelka: || visible in terminal || visible in file || existing Syntax || StdOut | StdErr || StdOut | StdErr || file =========++==========+==========++==========+==========++=========== > || no | yes || yes | no || overwrite >> || no | yes || yes | no || append || | || | || 2> || yes | no || no | yes || overwrite 2>> || yes | no || no | yes || append || | || | || &> || no | no || yes | yes || overwrite &>> || no | no || yes | yes || append || | || | || | tee || yes | yes || yes | no || overwrite | tee -a || yes | yes || yes | no || append
|
|
Anim Temat założony przez niniejszego użytkownika |
» 2016-08-10 22:53:35 Jestem Twoim dłużnikiem :) Dziękuję :) |
|
« 1 » |