Zum Inhalt springen

Zeilen per Script einfügen


xardas

Empfohlene Beiträge

Hi..

ja, der ist genau das richtige... hier hast du einen kurzen Artikel über sed:

Mit einem 'normalen' Editor ist das Bearbeiten von Dateien etwas aufwaendig:

Datei laden, Position suchen, Text aendern, Datei speichern.

Wie aufwaendig dies ist, sieht man erst im Vergleich zum Streameditor sed. Wenn wir z.B. die ersten drei Zeilen einer Datei loeschen wollen, gehen wir so vor:

sed -e '1,3D' eingabe.txt

Wenn Sie dieses Beispiel mit einer echten Datei testen, wird Ihnen vermutlich nicht gefallen, dass die Ausgabe nur auf dem Bildschirm erscheint. Also leiten wir die Standardausgabe auf eine Datei um:

sed -e '1,3D' eingabe.txt > ausgabe.txt

Die Datei eingabe.txt bleibt unveraendert. In ausgabe.txt wird der Inhalt von eingabe.txt ohne die ersten drei Zeilen geschrieben.

Wenn Sie die letzte Zeile loeschen wollen:

sed -e '$D' eingabe.txt > ausgabe.txt

Das Zeichen $ steht als fuer die letzte Zeile. Dieser Befehl wuerde also alles ab der 2. Zeile loeschen:

sed -e '2,$D' eingabe.txt > ausgabe.txt

Statt der Zeilennummern koennen wir aber die Grenzen des Arbeitsbereichs auch mit regulaeren Ausdruecken festlegen. Der folgende Befehl loescht alles ab dem Auftreten von 'BEGIN' bis zum Auftreten von 'END':

sed -e '/BEGIN/END/D' eingabe.txt > ausgabe.txt

Wuerde 'END' nicht gefunden, so wuerde sed bis zum Dateiende weiter loeschen.

Zu guter Letzt wollen wir die Auswahl umkehren - es sollen z.B. alle Zeilen geloescht werden, nur die letzte nicht:

sed -e '$ ! D' eingabe.txt > ausgabe.txt

Das geht natuerlich auch mit regulaeren Ausdruecken:

sed -e '/BEGIN/END/D' eingabe.txt > ausgabe.txt

Hinweis:

sed kann noch viel mehr (z.B. Zeilen einfuegen und aendern) und entfaltet seine wahre Kraft erst im Zusammenhang mit Skripten. Darueber aber spaeter mehr. (dln)

(Quelle: Linux-Newsletter vom 08.11.2002)

Gruß Taz

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...