strings rückwärts analysieren

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
pr0pa
Beiträge: 236
Registriert: 11.02.2003 20:13:38

strings rückwärts analysieren

Beitrag von pr0pa » 19.06.2006 22:38:45

Hallo,
ich möchte ein script für den OTR für mich optimieren.
Ich habe eine Variable mit ungefähr diesem Inhalt ( oder länger mit mehreren URLs)

Code: Alles auswählen

http://83.142.84.2/download/709376/1/494819/d26c993b111fe1bd4f1ffe04b19e192c/King_of_Queens_06.06.19_18-45_kabel1_30_TVOON_DE.wmv.otrkey
Weiß jemand wie ich den puren Dateinamen, in dem Fall:

Code: Alles auswählen

King_of_Queens_06.06.19_18-45_kabel1_30_TVOON_DE.wmv.otrkey
in eine Datei schreiben kann ?

Da auch mehrere Addressen in der Variable stehen können dachte ich mir, daß ich von jedem Teilstring ".otrkey" rückwärts bis zum nächsten "/" kopiere.
Leider hab ich keine Idee wie, auch meine Suche war nicht erfolgreich.

Gruß Marian

Benutzeravatar
chabayo
Beiträge: 930
Registriert: 17.08.2005 07:44:33
Lizenz eigener Beiträge: Artistic Lizenz

Beitrag von chabayo » 19.06.2006 22:54:52

Code: Alles auswählen

echo $path | sed -e 's_.*/__'
...echo $path, koennte auch cat <datei> sein...


cu
chab
Watt about the non-digital!?

Benutzeravatar
ruwen
Beiträge: 389
Registriert: 06.04.2003 18:37:25

Beitrag von ruwen » 19.06.2006 22:57:23

Von der Funktionsweise würde ich das so machen, Sprache ist ja letzendlich egal.

Den String in Teilstrings zerlegen und zwar immer an der Stelle /

(Man erhält dann in der Regel ein Array, zb bei explode() in php).

Dann array[anzahl_elemente-1] und schon haste deinen Krams.

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 19.06.2006 23:41:02

Code: Alles auswählen

basename http://...

Benutzeravatar
chabayo
Beiträge: 930
Registriert: 17.08.2005 07:44:33
Lizenz eigener Beiträge: Artistic Lizenz

Beitrag von chabayo » 19.06.2006 23:51:22

8O .. *rofl*
Watt about the non-digital!?

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 20.06.2006 12:55:12

Tut aber :)

yeti

Beitrag von yeti » 20.06.2006 16:40:48

Code: Alles auswählen

#!/bin/bash
URL='http://83.142.84.2/download/709376/1/494819/d26c993b111fe1bd4f1ffe04b19e192c/King_of_Queens_06.06.19_18-45_kabel1_30_TVOON_DE.wmv.otrkey'
echo ${URL##*/}

Benutzeravatar
ScyTheMan
Beiträge: 363
Registriert: 23.10.2004 15:09:14
Lizenz eigener Beiträge: GNU Free Documentation License

Beitrag von ScyTheMan » 20.06.2006 19:24:14

Code: Alles auswählen

$ echo "http://83.142.84.2/download/709376/1/494819/d26c993b111fe1bd4f1ffe04b19e192c/King_of_Queens_06.06.19_18-45_kabel1_30_TVOON_DE.wmv.otrkey" | tr -s '/' '\n' | tail -1
King_of_Queens_06.06.19_18-45_kabel1_30_TVOON_DE.wmv.otrkey
Im Grunde das, was ruwen bereits gesagt hat. Alle '/' durch einen Zeilenumbruch ersetzen und dann lediglich die letzte Zeile ausgeben.

Benutzeravatar
chabayo
Beiträge: 930
Registriert: 17.08.2005 07:44:33
Lizenz eigener Beiträge: Artistic Lizenz

Beitrag von chabayo » 20.06.2006 20:54:10

Code: Alles auswählen

URL='http://83.142.84.2/download/709376/1/494819/d26c993b111fe1bd4f1ffe04b19e192c/King_of_Queens_06.06.19_18-45_kabel1_30_TVOON_DE.wmv.otrkey'
save=$IFS;IFS=$IFS/;for i in $URL; do string=$i;done; echo $string;IFS=$save
:D
Watt about the non-digital!?

pr0pa
Beiträge: 236
Registriert: 11.02.2003 20:13:38

Beitrag von pr0pa » 26.06.2006 20:15:34

danke für die Hilfe,

ich nutze die basename variante.

mfg Marian

Antworten