Dateiname auslesen

ajqwak

ajqwak

Grünschnabel
Hallo zusammen,

ich habe ein eigentlich banales Problem:

in einem Skript soll eine Datei bearbeitet werden. Die Ausgabedatei soll dann eine neue Endung erhalten.

Bsp.:
Code:
bash$ make_mp3 xyz.wav
soll die Datei xyz.mp3 ergeben.

Ich denke ihr könnt mir da weiterhelfen.

Besten Dank
ajqwak
 
Mahlzeit,

ich kann Dir nicht folgen, was Du meinst und wo Dein Problem ist. Vielleicht kannst Du mehr Infos rüberkommen lassen?
Oder Deine Situation ausfürlicher beschreiben.

mfg

buffer_7
 
Servus buffer_7,

ich möchte einen Dateinamen in Namen und Erweiterung zerstückeln. Wenn ich zum Beispiel ein Skript über meine Dateien laufen lasse, so kommt idR eine Doppelendung raus, wie zB: xyz.wav.mp3.

Das mag ich aber nicht und würde deswegen den Dateinamen der Eingangsdatei in Name (xyz) und Endung (wav) aufsplitten und die temporäre Ausgangsdatei (xyz.wav.mp3) auf den neuen Dateinamen (xyz.mp3) umbenennen. Dieser Dateiname setzt sich wieder aus dem Namen (xyz) und der neuen Endung (mp3) zusammen.

Na dann bis später
ajqwak
 
DATEINAME=xyz.wav
NEUNAME=${DATEINAME%.wav}.mp3

oder komplexer:
OLD_NAME=xyz.wav
OLD_SUFFIX=.wav
NEW_SUFFIX=.mp3
NEW_NAME=${OLD_NAME%${OLD_SUFFIX}}${NEW_SUFFIX}

auf bald
oenone
 
Danke. Habe mittlerweile auch 'ne Lösung gefunden:

Code:
echo "`basename \"$1\" .wav`.mp3"

Jetzt weiß ich zwar nicht warum das so aussehen muss, aber es funktioniert ...

Grüße
 
naja... aber bedenke: du rufst ein externes programm in einer subshell auf...
wenn du es so wie ich es gezeigt habe machst, wird das alles direkt in der gleichen shell gemacht (ist in die shell eingebaut) :)

auf bald
oenone
 

Ähnliche Themen

Verzeichnis mit 1200 Dateien auf Verweise in Textdateien checken

Skript soll nicht doppelt laufen... kill pkill pid cron

wget: Lädt bestimmte Dateitypen nicht

Zeilen auslesen und anderer Stelle wieder einfügen

Spalten einer Datei in neue Datei integrieren.

Zurück
Oben