Problem mit Datei-Erkennung

T

Till

Grünschnabel
Im Dir /usr/src/testsetup/files/ liegt eine Datei: anwendung-1.2.3.tar.gz

Ich möchte nur die Versionsnummer mit Rest herauslesen, was ja mit

ls /usr/src/testsetup/files/anwendung-*.tar.gz |grep anwendung|cut -d'-' -f2

auch funktioniert. (-> 1.2.3.tar.gz)


Jetzt habe ich aber das Problem, wenn ein Dir vorher auch schon ein - als Delimiter hat, das ganze nicht mehr
funktioniert.

Wie kann ich eine Sicherheit einbauen, das mir diese Erkennung garantiert, wenn vorher auch schon dieser Delimiter auftritt.
Vielleicht gibt es ja noch ne ganz andere Lösung...



z.B:
/usr/src/test-setup/files/anwendung-1.2.3.tar.gz

Dann bekomme ich nur noch:
setup/files/anwendung
heraus....

Jetzt habe ich schon länger herumgegrübelt aber nicht sinnvolles zustande gebracht.

Ich hoffe ich habe mich verständlich genug ausgedrückt...
 
Hallo Till,

versuch´s doch damit mal:

datei="/usr/src/test-setup/files/anwendung-1.2.3.tar.gz"
echo "Endung lautet ${datei##*-}"

--> Endung lautet 1.2.3.tar.gz

Gruss zst
 
(hier stand was falsches..)

[edit]
Leider fällt mein Beispiel immer noch auf dasselbe Problem herein, der Dateiname hatte kein zweites "-"... sorry, also vergiß es... hab ich wieder gelöscht
 
Zuletzt bearbeitet:
Code:
localhost:~/te-test user$ cd ..
localhost:~ user$ f=$(ls te-test/anwendung-*); f=${f##*-}; echo ${f%%.tar.gz}
1.2.3
 
Vielen Dank an Euch !!!

Jetzt habe ich wieder etwas dazugelernt.

:respekt:
 

Ähnliche Themen

Samba 4 Gast Zugang unter Ubuntu funktioniert nicht

Schleife zum einlesen vieler Dateien funktioniert nicht

Last mit etc/passwd anzeigen lassen

ubuntu erkennt netzwerkarte nicht

quake 3 Sound Problem (Audioausgabe blockiert von Mediaplayer)

Zurück
Oben