Unix und reguläre Asudrücke
mysth
- sonstiges
Ich habe mit folgendem Befehl Probleme:
sed -e "s%^./%%"
Er wird irgendwie gebraucht um Daten von einem Rechner auf den Server zu übertragen, aber ich hab keine Ahnung was dieser BEfehl genau macht.
Vor allem: diese Prozentzeichen, was sollen die da???
Bin dankbar für jede Hilfe.
(ach ja, wenn ich schon mal dabei bin, kennt irgendwer eine gute onlineDokumentation oder FAQs für Unicon? Unicon ist eine objekt orientierte Sprache und wird anstelle von Perl verwendet)
Danke
Hallo,
sed -e "s%^./%%"
Er wird irgendwie gebraucht um Daten von einem Rechner auf den Server zu übertragen, aber ich hab keine Ahnung was dieser BEfehl genau macht.
Vor allem: diese Prozentzeichen, was sollen die da???
sed ist der "Stream Editor". Dieser nimmt eine ihm übergebene Datei bzw. den Datenstrom aus der Standardeingabe,
führt damit bestimmte Aktionen durch und schreibt das Ergebnis auf die Standardausgabe.
Die Aktionen werden oft durch reguläre Ausdrücke bestimmt, wie auch in diesem Fall.
Der Ausdruck s%^./%% bewirkt, daß jeder Fund des Ausdrucks ^./
(ein beliebiges Zeichen am Zeilenanfang, gefolgt von einem /)
durch einen Leerstring ersetzt, also im Prinzip gelöscht wird.
Das Prozentzeichen ist ein benutzerdefiniertes Begrenzungszeichen.
sed fat als Standard das Begrenzungszeichen /, welches jedoch in manchen Ausdrücken
unpraktisch wäre, da man jedes Vorkommen von / im Ausdruck maskieren müßte.
Deswegen kann man ein Beliebiges Begrenzungszeichen verwenden.
Das wird einfach dadurch gewählt, daß es hinter dem s steht.
Übrigens, vermutlich willst Du eigentlich s%^./%% verwenden, um die Zeichen
./ am Zeilenanfang zu löschen. Der Punkt hat ja die Sonderbedeutung "ein beliebiges Zeichen".
HTH
Rainer