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 ...
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