[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: sed: -e expression #1, char 18: unterminated `s' command [OT]





Le 17/02/2021 à 21:23, Christian Knoke a écrit :

Hallo Klaus,

Klaus Becker schrieb am 17. Feb um 18:56 Uhr:
n'Abend,

in einem Skript habe ich dutzende Zeilen wie

"sed -i '/Anzeige/Id' druck.txt"

um aus Texten bestimmte Zeilen zu löschen. Nun bekomme ich obige
Fehlermeldung.

sed verwendet den ersten Parameter auf der Kommandozeile, der keine Option
ist, als Script, hier ist das: '/Anzeige/Id' .  Die Fehlermeldung bemängelt
ein s Kommando, also enthält das Script wohl ein s Kommando, das ist ein
Ausdruck, der mit einem kleinen s beginnt (für search and replace).

Das bedeutet, du verwendest das sed Programm falsch. Einerseits gibt es
Optionen (mit - am Anfang), andererseits Script-Kommandos.

Wenn du ganze Zeilen aus einer Datei (druck.txt) löschen willst, bist du mit
grep -v oder egrep -v eventuell besser bedient.

Wenn du sed besser kennenlernen willst, ist info sed die beste Quelle.

Gruß
Christian


Hallo Christian und alle,

ein klein wenig kenne ich sed schon. Ich erkläre mal den Hintergrund:

ich kopiere oft Webseiten in die Datei "druck.txt", behandle sie mit meinem Skript und kopiere dann das Ergebnis in Libreoffice zum drucken.

Da habe ich in "druck.odt" nur Text und keine Textabschnitte, die immer wiederkommen und die ich nicht drucken will wie z. B. Werbung. Das mache ich schon seit Jahren, und es funktionniert.

Ich glaube also nicht, dass ich sed falsch benutze.

Manchmal komme neue Motive zum Skript dazu, und es kommt schon mal vor, dass ich Fehler begehe. Meist finde ich die ziemlich schnell.

Ich habe auch im Skript "-s" gesucht, wird aber nicht gefunden.

Letzte Lösung ist das Skript komplett ausdrucken und händisch suchen, da findet man manchmal Dinge, die man am Bildschirm übersieht. Ist mir schon passiert, aber ich wollte wissen, ob es nicht eine elegantere Lösung gibt.

Gruß

Klaus











Reply to: