Verstehe folgende Zeile nicht...

simplex

simplex

[Versuchstier]
hallo, :hilfe2:

bräuchte mal bitte eine erklärung folgender zeile:

sed -e 's?^/.*/??' -e 's?^/??' -e 's? HTTP.*$??' | \

ich blicke da absolut nicht durch :)

vielen dank für die hilfe

micha
 
Bedeutet folgendes.

Pro Zeile wird
1) jeder Zeile beginnt mit / --> durch nicht ersetzt
2) jede Zeile beginnt mit / und sonst nix --> durch nichts ersetzt
3) jede Zeile beginnt mit "blank"HTTP --> duch nix ersetzt

Über den Sinn kann sicherlich diskutieren.
 
nein, so stimmt das nicht ganz...

das erste command 's?^/.*/??' löscht aus jeder zeile den Anfang bis zum letzten vorkommenden /, wenn sie mit / beginnt.
das zweite command 's?^/??' löscht dann das führende / der Zeilen, sofern vorhanden.
und das dritte command 's? HTTP.*$??' löscht alle Zeilen, die mit " HTTP" beginnt.

somit würde bei folgendem input:
Code:
/foo/bar/bazz
/foobar
 HTTP://foo.bar
bei der ersten Zeile das erste command anschlagen und '/foo/bar/bazz' durch 'bazz' ersetzen, die anderen beiden commands würden hier nichts machen.
die zweite Zeile entledigt das zweite command vom '/'.
und die dritte Zeile entfällt komplett durch das dritte command.
Ausgabe also:
Code:
bazz
foobar

zu empfehlen: http://de.wikipedia.org/wiki/Regex

auf bald
oenone
 
Zuletzt bearbeitet:
oenone schrieb:
's?^/.*/??' ...........
's?^/??' ............
's? HTTP.*$??' ...........
Hmm, ich glaub, ich muss mir die Doku für die Regexp reinpfeiffen. Da scheine ich noch stark entwicklungsfähig zu sein. :hilfe2:

Danke für die Anregung

Hans
 

Ähnliche Themen

sed - Bitte um Unterstützung

chown Befehl in einem Script

Hilfe für ein shell script

Falsche Ausgabe von $LINENO

Verzeichnis mit 1200 Dateien auf Verweise in Textdateien checken

Zurück
Oben