Ga naar inhoud

[bash] output prog opscherm wegschrijven naar file?


anoniem

Aanbevolen berichten

JA! Jij gebruikt 2 dingen, pipes ( | ) en redirection ( < ) M.b.v. van pipes koppel je de output van het ene programma aan de input van het andere programma. Bijvoorbeeld [code:1:49a14490d6] ls | grep bak [/code:1:49a14490d6] De output van ls (de inhoud van een directory) wordt gekoppeld aan grep, hiermee kun je p een patroon zoeken. De input van grep is dus de hele listing van het ls commando en daar zoekt hij op alle bestanden met de naam bak. Redirection wil zeggen dat je iets gaat omleiden. Dit kan met STDIN, STDOUT en STDERR (standard Input, standard Output en standard Error). Een voorbeeldje, als je [code] startx [/out] intypt, start X op. X produceert echter ook foutmeldingen, stel dat die niet zo kritiek is en je toch een x voor je neus ziet, wil je eventuele foutmeldingen wel weten. Wat ik dan b.v. doe is het volgende in te typen. [code] startx 2>/debug.txt [/code] Nu leid je de STDERR (is code 2 in Unix, STDIN is 0, STDOUT is 1) van het startx commando om naar de file debug die in je root staat. Zo, hopelijk weet je nu genoeg om het zelf uit te vissen :D
Link naar reactie
[quote:a7d9c538eb="water"]Hoe kan ik de output van een progje op mijn scherm in console wegschrijven naar een file? Ik vermoedt dat het iets is als: [code:1:a7d9c538eb] programmaatje | echo bla bla >> /waar/ik/maar/wil/wegschrijffile [/code:1:a7d9c538eb] Klopt dit idee een beetje, en wat moet er bij bla bla staan?[/quote:a7d9c538eb] Het idee zelf is in de richting maar klopt niet. Je hebt het proggie 'tee' nodig (man tee dus om te zien wat het precies doet) [code:1:a7d9c538eb] programmaatje | tee mylisting [/code:1:a7d9c538eb] doet de truc. Je output komt nu zowel op het scherm als in het file mylisting terecht. Pas echter op: als je bv. [code:1:a7d9c538eb] ls [/code:1:a7d9c538eb] doet krijg je een listing in kolommen van de stuff in de huidige directorie. als je echter [code:1:a7d9c538eb] ls | tee mylisting [/code:1:a7d9c538eb] doet, komen alle files/dirs onder elkaar te staan, zowel in de file mylisting als op het scherm. Nu is dus [code:1:a7d9c538eb] ls -C | tee mylisting [/code:1:a7d9c538eb] een verstandiger opdracht. Het uitpuzzelen hiervan in 'man bash' laat ik graag aan je over :D
Link naar reactie
[quote:127b421f83="water"]Hierbij is ut een willekeurig programma? (kan het nu even niet proberen)[/quote:127b421f83] ut is het commando voor de game Unreal Tournament :) Ik kwam BTW ook nog achter een handig optie, namelijk sort. Kun je de namen, woorden in een txt file op alphabet ed laten sorteren, bijvoorbeeld met sort /home/marce/utoutput > utoutputsorted Wisten jullie misschien al maar ik vond het wel ff het vermelden waard iig.
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...