"sed" und Regulärer Ausdruck

the-cR

Mitglied
Hallo,

ich habe mich entschlossen, diese Frage ins Linux Forum zu stellen, obwohl ein Regulärer Ausdruck natürlich auch zu den Codern gehört. Nichts desto trotz:

Nehmen wir an, der Inhalt der Date text.txt sei:

"http://www.foo.com/mysub/mypage.html"

- also eine URL.

Nun möchte ich mit "sed" den html Dateinamen rausfiltern/löschen, sodass ich diese Zeile erhalte:

"http://www.foo.com/mysub/"

Ich dachte eigentlich, es sollte so funktionieren:

Code:
sed -n 's#/[^/]*$#/#p' test.txt

tut es aber nicht, wie es bei Regulären Ausdrücken so üblich ist :) Mein Versuch sollte also folgendes tun:

Suche nach dem Zeichen "/", danach darf das Zeichen "/" nicht mehr vorkommen, jedoch alle anderen Zeichen kein, ein- oder mehrmals, und das bis zum ende der Zeile. Dieses ganze, wenn gefunden, ersetze durch "/".

Nunja, wie ich schon erwähnte, funktioniert es nicht. Ich würde mich sehr freuen, wenn ihr mir diesbezüglich ein paar Tipps geben könntet. Nicht unbedingt, warum meine Zeile nicht funktioniert, sondern vorrangig, wie ich den Dateinamen-Anteil aus der obigen URL mit dem Befehl "sed" entfernen kann (natürlich ist die URL nicht immer dieselbe ;-) )

P.S. gibt es vielleicht noch eine andere Möglichkeit, z.B. einen ganz anderen Befehl um dies zu erreichen?


Vielen Dank!
 
Zurück