Einführung in die Shell-Programmierung

Shells

Append Lines

Nehmen wir an, wir haben eine Datei, bei der wir eine neue erste Zeile hinzufügen müssen, z.B. die Art des Kursus. Zuerst könnte man auf die Idee kommen, es wie folgt zu lösen:
echo "Linux für Fortgeschrittene" ; cat alt.txt > neue.txt 
Leider bewirkt diese Kommandozeile nur, dass die Textzeile "Linux für Fortgeschrittene" in der Shell ausgedruckt wird, und der Inhalt der Datei alt.txt in die Datei neu.txt identisch kopiert wird.
Klammern lösen das Problem:
(echo "Linux für Fortgeschrittene" ; cat alt.txt) > neue.txt


Wir kommen nun zu einer kleinen Erweiterung unseres Beispiels. Nehmen wir an, dass wir die erste Zeile austauschen müssen, da dort z.B. als Kurs "Linux für Angänger" angegeben war. Dazu brauchen wir dann das an anderer Stelle dieser Webseite eingehend beschriebene "tail-Kommando":
(echo "Linux für Fortgeschrittene" ; tail +2 alt.txt) > neue.txt 
Wenn man die ersten 5 Zeilen einer Datei "andere.txt" an den Anfang von alt.txt setzten will und gleichzeitig die ersten 3 Zeilen von alt.txt löschen will, so sieht die Kommandozeile wie folgt aus:
(head -5 andere.txt ; tail +4 alt.txt) > neue.txt 

© Copyright 2004 - 2008, Bodenseo, Linux-Kurse am Bodensee, Bernd Klein