Menu

27 oktober 2012

Terminal: Gebruikmaken van de ‘redirection’ functies

Onder OS X Terminal kun je gebruik maken van ‘redirection’ functies, deze maken het mogelijk om bijvoorbeeld de output die op het scherm verschijnt weg te schrijven naar een tekstbestand.

Wanneer je de inhoud van een directory wilt bekijken met het ‘ls -al’ commando (-al staat voor detailweergave) dan kun je hierbij piping gebruiken om de output weg te schrijven naar een bestand. Je gebruikt hiervoor het commando:

ls -al > inhoud.txt

De ‘>’ geeft aan dat je output wilt wegschrijven naar een nieuw bestand, in dit geval inhoud,txt. In plaats van ‘>’ kun je ook ‘>>’ gebruiken. Dit geeft je de mogelijkheid om de output van het scherm toe te voegen aan een bestaand tekstbestand (append functie).

Als je bijvoorbeeld de inhoud van de map ‘Documents’ en ‘Pictures’ in één tekstbestand wilt wegschrijven dan kun je dat als volgt doen.

ls -al Documents > mijnbestanden.txt

De inhoud van de documenten wordt nu in mijnbestanden.txt weggeschreven. Je kunt dit bestand aanvullen met de bestanden uit de directory Pictures met:

ls -al Pictures >> mijnbestanden.txt

Zoals eerder aangegeven wordt met ‘>>’ de output toegevoegd aan het bestand. Mocht het bestand nog niet bestaan dan wordt deze automatisch aangemaakt.

Het aangemaakte tekstbestand kun je heel eenvoudig openen in iedere willekeurige editor. Je het bestand ook direct openen in de standaard OS X Teksteditor vanuit Terminal hiervoor kun je het ‘open’ commando gebruiken, bijvoorbeeld:

open mijnbestanden.txt

Meer tips over Terminal kun je hier terugvinden.




Gerelateerde tips:




Reacties


  • Pdiddy 27 oktober 2012 om 10:13

    Kan aan mij liggen maar volgens mij is piping het | karakter gebruiken om de output van het ene commando naar een volgend te sturen bijv: ps -e | grep Finder. Het gebruiken van de > toevoeging is het omleggen van de standaard output.. Maar ik kan het mis hebben..

  • Richard IJzermans 27 oktober 2012 om 10:28

    Inderdaad je hebt gelijk, het is aangepast.
    Ik bedoelde ‘redirection’ ipv ‘piping’.

  • Marcel Kraan 27 oktober 2012 om 12:43

    Doe dan gelijk “awk -F” even

Een reactie toevoegen: