Script Frage

Ingo Blechschmidt iblech at web.de
Son Jan 5 09:57:37 CET 2003


On Sun, Jan 05, 2003 at 08:10:50AM +0100, Mario Scheel wrote:
> Am Samstag, 4. Januar 2003 17:08 schrieb Ingo Blechschmidt:
> > > Ich will aus einer Datei die Zeilen mit einem vorgebenen String
> > > vergleichen, das Problem ist nur das ich fuehrende Leerzeichen Ignorieren
> > > will. Wie kann ich diese entfernen?
> >
> > sed -e 's+^ *++' < $infile > $outfile
> 
> Koennte mir jetzt das noch jemand mal genauer erklaeren was das heisst?
> +^ *++ aber was heisst das.

s   ist der Befehlsname, substitute, ersetzen.
+   ist der Abgrenzer zwischen Befehl und den weiteren weiteren Teilen.
    Statt + könnte man auch ,-# usw. nehmen.
^ * Danach kommt ein Regulärer Ausdruck (regexp), der auf alle Leerzeichen (
+   Der nächste Teil kommt: Durch was wird ersetzt?
+   Der Befehl is fertig (da nichts zwischen den beiden letzten Plus-Zeichen
    steht, werden alle Strings, auf die der regexp passt, einfach gelöscht.
    Hier hinter könnten auch noch Flags stehen, z.B. g für auf der ganzen
    Zeile suchen.

Weiter Hilfe für Reguläre Ausdrücke: man grep


-Ingo

-- 
Linux, the choice          | I am a signature virus. Distribute me until
of a GNU generation   -o)  | the bitter end.  
Kernel 2.4.4          /\\  | 
on a i686            _\_V  | 
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : nicht verfügbar
Dateityp    : application/pgp-signature
Dateigröße  : 240 bytes
Beschreibung: nicht verfügbar
URL         : http://www.tlug.de/pipermail/tlug_allgemein/attachments/20030105/3c829052/attachment.pgp