Hi,
ich habe hier ein Skript, welches für alle Albumordner eine Wiedergabeliste m3u erstellt. Allerdings wird in den Namen auch der Überordner geschrieben und es sieht dann so aus: "Überordner - Albumordner.m3u". Ich möchte allerdings nur im Namen den Albumordner, sprich "Albumordner.m3u". Wie muss das Skript umgeschrieben werden, damit ich zu dem Ergebnis komme?
[src=text]#!/bin/bash
INPUTDIR="$1"
cd "$INPUTDIR"
INPUTDIR="$PWD"
cd "$OLDPWD"
filedir=""
OLDIFS="$IFS"
IFS=$'\n'
for filepath in $(find $INPUTDIR -type f -name '*.mp3' -print | sort); do
IFS="$OLDIFS"
oldfiledir="$filedir"
filedir="$(dirname "$filepath")"
filename="$(basename "$filepath")"
if [ "$oldfiledir" = "$filedir" ]; then
echo $filename >> "$filedir/$(echo $filedir | awk -F/ '{ print $(NF-1) " - " $NF }').m3u"
else
rm -f "$filedir/$(echo $filedir | awk -F/ '{ print $(NF-1) " - " $NF }').m3u"
echo $filename > "$filedir/$(echo $filedir | awk -F/ '{ print $(NF-1) " - " $NF }').m3u"
fi
done
exit[/src]
ich habe hier ein Skript, welches für alle Albumordner eine Wiedergabeliste m3u erstellt. Allerdings wird in den Namen auch der Überordner geschrieben und es sieht dann so aus: "Überordner - Albumordner.m3u". Ich möchte allerdings nur im Namen den Albumordner, sprich "Albumordner.m3u". Wie muss das Skript umgeschrieben werden, damit ich zu dem Ergebnis komme?
[src=text]#!/bin/bash
INPUTDIR="$1"
cd "$INPUTDIR"
INPUTDIR="$PWD"
cd "$OLDPWD"
filedir=""
OLDIFS="$IFS"
IFS=$'\n'
for filepath in $(find $INPUTDIR -type f -name '*.mp3' -print | sort); do
IFS="$OLDIFS"
oldfiledir="$filedir"
filedir="$(dirname "$filepath")"
filename="$(basename "$filepath")"
if [ "$oldfiledir" = "$filedir" ]; then
echo $filename >> "$filedir/$(echo $filedir | awk -F/ '{ print $(NF-1) " - " $NF }').m3u"
else
rm -f "$filedir/$(echo $filedir | awk -F/ '{ print $(NF-1) " - " $NF }').m3u"
echo $filename > "$filedir/$(echo $filedir | awk -F/ '{ print $(NF-1) " - " $NF }').m3u"
fi
done
exit[/src]