Pereiti prie turinio

Konsoles saugojimas į failą.


Rekomenduojami pranešimai

Sveiki, susidūriau su tokiu reikalu ir niekur nerandu sprendimo.

Tarkim yra programa.cpp kurios dalis source yra štai čia:

<..............>

cout << "Informacija1 \n";
cout << "Informacija2 \n";
cout << "Informacija3 \n";
<..............>

 

Į ekraną būtų išvedama:

Informacija1

Informacija2

Informacija3

 

 

arba, kitas pvz standartinė linux komanda which skype

Į ekraną būtų išvedama:

/bin/usr skype

 

Reikia terminale tarkim n kartų įvykdyti programa.cpp ir which skype ir tai, ką išveda programos į terminalą reikia saugoti tekstiniame faile. Buvo mintis sukti ciklą C kalboje ir su system() kviesti programas, bet tada pritrūko minčių kaip išsaugoti tai, ką jos išveda į ekraną.

Gal kas turite minčių kaip tai atlikti C kalboje(geriausias variantas) ?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

kam tau C, jei kaip tik tam yra skirti bash script'ai?

 

#!/bin/bash
x=1
while [ $x -le 5 ]
do
   bash_komanda_1 >> /kelias/iki/logfailo
   bash_komanda_2 >> /kelias/iki/logfailo
   x=$(( $x + 1 ))
done

 

[nagisa@godbox Desktop]$ cat a.bash
#!/bin/bash
x=1
while [ $x -le 5 ]
do
   echo "Komanda 1" >> ./a.log
   echo "Komanda 2" >> ./a.log
   x=$(( $x + 1 ))
done
[nagisa@godbox Desktop]$ bash ./a.bash
[nagisa@godbox Desktop]$ cat a.log
Komanda 1
Komanda 2
Komanda 1
Komanda 2
Komanda 1
Komanda 2
Komanda 1
Komanda 2
Komanda 1
Komanda 2

 

Taip pat vietoj while gali naudot:

for i in {1..5}
do

done

Redagavo nagisa
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Matai, aš basho nemoku ir tikėjausi, kad visa reikalinga funkciją pavyks padaryti su C, kuri man yra artimesnė.

Ir pasirodo sprendimas buvo daug paprastesnis. Norint išsaugoti programas rezultatą iš ekrano į failą pakanka terminale kviesti programosPavadinimas > rezultatas.txt

pvz

 

#include <stdlib.h>

using namespace std;

int main(){

   system("which skype > skype.txt");

return 0;
}

ir

skype.txt

/usr/bin/skype

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Matai, aš basho nemoku ir tikėjausi, kad visa reikalinga funkciją pavyks padaryti su C, kuri man yra artimesnė.

Ir pasirodo sprendimas buvo daug paprastesnis. Norint išsaugoti programas rezultatą iš ekrano į failą pakanka terminale kviesti programosPavadinimas > rezultatas.txt

pvz

 

#include <stdlib.h>

using namespace std;

int main(){

   system("which skype > skype.txt");

return 0;
}

ir

skype.txt

/usr/bin/skype

Tai su ta pačia viena eilute ir bash'e būtum padaręs ;)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...