09.04.2014 Aufrufe

Linux Essentials//Die Einsteiger-Zertifizierung des LPI - Linup Front ...

Linux Essentials//Die Einsteiger-Zertifizierung des LPI - Linup Front ...

Linux Essentials//Die Einsteiger-Zertifizierung des LPI - Linup Front ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

8.4 Datenverwaltung 125<br />

Bei der feldweisen Bearbeitung von Textdateien ist -s (engl. separator, »Tren- Unterdrückung von Zeilen ohne<br />

ner«) eine sinnvolle Option. Findet »cut -f« Zeilen, die kein Trennzeichen enthalten,<br />

werden diese üblicherweise komplett ausgegeben; -s verhindert diese Ausga-<br />

Felder<br />

be.<br />

Das Kommando paste (engl. für »zusammenkleben«) fügt die angegebenen Da- Dateien zeilenweise zusammenfügen<br />

teien zeilenweise zusammen, es wird daher oft in Verbindung mit cut benutzt. Wie<br />

Sie sicher sofort bemerkt haben, ist paste eigentlich kein Filterkommando. Geben<br />

Sie jedoch für einen der Dateinamen ein Minuszeichen an, so registriert paste, dass<br />

dieser Text aus der Standard-Eingabe gelesen werden soll. <strong>Die</strong> Ausgabe erfolgt<br />

stets auf der Standard-Ausgabe.<br />

Wie erwähnt arbeitet paste zeilenweise. Bei der Angabe von zwei Dateinamen Dateien parallel durchlaufen<br />

werden die erste Zeile aus der ersten Datei und die erste aus der zweiten Datei,<br />

durch ein Tabulatorzeichen getrennt, zur ersten Zeile der Ausgabe verbunden,<br />

entsprechend wird mit allen weiteren Zeilen verfahren. Wenn Sie statt <strong>des</strong> Tabulatorzeichens<br />

ein anderes Trennzeichen verwenden wollen, kann dies mit der Trennzeichen<br />

Option -d festgelegt werden.<br />

Zum Beispiel können wir eine Version der Marathon-Meldeliste herstellen, bei<br />

der die Startnummer vorne steht:<br />

$ cut -d: -f4 teilnehmer0.dat >startnr.dat<br />

$ cut -d: -f1-3,5 teilnehmer0.dat \<br />

> | paste -d: startnr.dat - >tn-startnr.dat<br />

$ cat tn-startnr.dat<br />

123:Schulz:Hugo:SV Schnaufenberg:Herren<br />

13:Schleicher:Detlef:TSV Lahmhausen:Herren<br />

217:Flöttmann:Fritz:Sportfreunde Renntal:Herren<br />

154:Springinsfeld:Karlheinz:TV Jahnstein:Herren<br />

26:von Traben:Gesine:TV Jahnstein:Damen<br />

117:Rasbichel:Ulla:TSV Lahmhausen:Damen<br />

93:Schwitz:Sieglinde:Sportfreunde Renntal:Damen<br />

119:Rasbichel:Katja:TSV Lahmhausen:Damen<br />

55:Langbein:Leni:SV Schnaufenberg:Damen<br />

45:Zielinger:Hannes:TV Jahnstein:Herren<br />

57:Fluschinsky:Käthe:Sportfreunde Renntal:Damen<br />

<strong>Die</strong>se Datei kann jetzt bequem mit »sort -n tn-startnr.dat« nach dem numerischen<br />

Wert der Startnummer sortiert werden.<br />

Durch -s (engl. serial, »nacheinander«) werden die angegebenen Dateien nach- Dateien nacheinander durchlaufen<br />

einander durchlaufen. Zunächst werden alle Zeilen der ersten Datei mit Trennzeichen<br />

zu einer Zeile zusammengefasst, anschließend alle Zeilen aus der zweiten<br />

Datei in der zweiten Zeile usw.<br />

$ cat liste1<br />

Hund<br />

Katze<br />

Maus<br />

$ cat liste2<br />

Ei<br />

Blut<br />

Kakao<br />

$ paste -s liste*<br />

Hund Katze Maus<br />

Ei Blut Kakao<br />

Alle Dateien, deren Name dem Suchmuster liste* entspricht, hier also lediglich<br />

liste1 und liste2, werden von paste zusammengesetzt. <strong>Die</strong> Angabe von -s bewirkt,<br />

dass jede Zeile dieser Dateien eine Spalte der Ausgabe ergibt.<br />

Copyright © 2012 <strong>Linup</strong> <strong>Front</strong> GmbH

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!