xardas Geschrieben 30. Januar 2003 Teilen Geschrieben 30. Januar 2003 Hallo, als Script-Neuling hab ich ne Frage. Ich hab etwa 50 html Seiten und möchte jetzt in Zeile 5, 3 Zeilen Code einfügen. Zwar kann ich das alles per vi machen aber en bissel umständlich. komm ich mit "sed" weiter? Danke Xardas Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TAZttDevil Geschrieben 31. Januar 2003 Teilen Geschrieben 31. Januar 2003 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
xardas Geschrieben 31. Januar 2003 Autor Teilen Geschrieben 31. Januar 2003 OK, danke. Werd mich mal dransetzen und mein Glück versuchen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
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.