sed Pfad aus String extrahieren

keks

keks

nicht 1337 genug
[gelöst] sed Pfad aus String extrahieren

Hallo Forum,

ich verzweifel gerade an einer an sich simplen Aufgabe.
Ich möchte aus einem String dieser art "/foo/baa/baz.rar" mit sed folgende Ausgabe erreichen: "/foo/baa/". Anscheinend habe ich sed noch nicht ganz verstanden. Vielleicht hat ja jemand die Lösung und teilt sie mit mir :hilfe2:

Gruß Keks
 
Zuletzt bearbeitet:
Hallo Rain_Maker,

hehe, das erfüllt zwar die von mir gestellten Anforderungen, doch leider muss ich sie nochetwas präzisieren damit mir das was nutzt: der Pfad sowie der Dateiname (bis auf das .rar) ändert sich, ist also nicht statisch.

Edit:
folgendes regex würde funktionieren. Ist aber in meinen Augen sehr unelegant:
Code:
echo "/home/david/foo.rar" |sed -e 's/[a-Z,.,\,]*rar//g'

Edit 2. :
das ist schon eleganter:
Code:
 echo "/home/david/foo.rar" |sed -e 's/[^\/]*rar//g'
 
Zuletzt bearbeitet:
Ich hatte das jetzt so verstanden, daß die "üblichen" Trenner ("/") auch im String vorkommen und Du gerade bezüglich geeigneter "Surrogate" auf dem Schlauch stehst.

(Wäre allerdings auch irgendwie zu einfach gewesen, daß ich Script-DAU da mal ne passende Antwort gehabt hätte. *g*)
 
Zuletzt bearbeitet von einem Moderator:
mein stümperhaftes sed Script löscht/matcht auf den Dateiname.
Wie könnte ich denn stattdessen ausgeben? Sprich wie würde ich denn auf den PFAD matchen? Also auf sowas "/foo/baa/".

@Rain_Maker :)
 
Moin,

wieso immer das Rad neuerfinden?

Code:
:~$ gaga="/foo/baa/baz.rar"
:~$ dirname $gaga
/foo/baa
:~$ basename $gaga
baz.rar

mfg
HeadCrash
 
Danke HeadCrash für diesen tollen Tipp, das wird sofort "notiert" :)!

Das Optimalste währe wenn noch jemand das sed Äquivalent wüsste.

Gruß

Keks
 
Dann halt noch in sed :D

Code:
:~$ gaga="/foo/baa/baz.rar"
:~$ echo $gaga | sed 's/^\(\/.*\)\/\(.*\.rar\)$/\1/'
/foo/baa
:~$ echo $gaga | sed 's/^\(\/.*\)\/\(.*\.rar\)$/\2/'
baz.rar

<edit>regex so umgebaut das der abschließende slash rausfällt</edit>

mfg
HeadCrash
 
Zuletzt bearbeitet:

Ähnliche Themen

Leerzeichen, Großbuchstaben, HTML Tags entfernen mittels SED

IP aus String extrahieren

Squid als RPCoHTTPS Proxy für Outlook Anywhere

DNS Tunnel (Verständnis) Problemchen

sed Variablen und Anführungszeichen

Zurück
Oben