ubuntuusers.de

Hilfe beim Automatisieren

Status: Ungelöst | Ubuntu-Version: Kubuntu 7.04 (Feisty Fawn)
Antworten |

thom_raindog

Avatar von thom_raindog

Anmeldungsdatum:
20. Mai 2005

Beiträge: 2848

Ich brauche hier ein bisserl Hilfe in Sachen Shell-Programmierung.

Ich nutze a2mpg (heißt das so?) um meine ogg in mp3 zu wandeln. Mein Autoradio kann halt nix anderes ☹

Im Moment mach ich das so:
- In einem temporären Ordner einen Unterordner anlegen mit dem Künstlernamen.
- Darin dann einen Unterordner mit dem Albumtitel anlegen.
- Dann die Originale umwandel in diesen Ordner.

Sowas ist bei 20 CDs etwas mühsam.
Ließe sich sowas per Shellscript irgendwie leichter gestalten?

tobiasschulz

Anmeldungsdatum:
31. Mai 2006

Beiträge: 339

Wohnort: /root/

#!/bin/bash
cd /ordner
for ka in "Kuenstlername1/Albumname1" "Kuenstlername2/AlbumX" "Kuenstlername3/NameDesAlbums"; do
  mkdir -p $ka
  [dein-kommando] /dev/xxx $ka/yyy
done

thom_raindog

(Themenstarter)
Avatar von thom_raindog

Anmeldungsdatum:
20. Mai 2005

Beiträge: 2848

Hmm... also so n bissler programmieren kann (konnte.. seelinger C64) ich ja auch.

Aber wirklich verstanden hab ich das script nicht - wahrscheinlich der Grund warum ich überhaupt fragen musste 😉

Kannst du mir das auseinanderschneiden damit ichs kappe?

cd /ordner ist ja noch klar. Da mir der Rest aber schleierhaft ist, frag ich: Richte ich den Befehl auf den Ordner wo die original OGGs liegen, oder wo die MP3s landen sollen?

Wofür sind die drei Varianten von Kuenstlername/Albumname gut?

Danke auf jeden Fall schon mal.
Man verzeihe aber meine Vorsicht. Ich möchte heute abend beim antesten ungern am Ende ohne meine OGGs da stehen 😉

Der_Gestreifte

Avatar von Der_Gestreifte

Anmeldungsdatum:
21. Juni 2007

Beiträge: 1261

Wohnort: Nürnberg

Vorausgesetzt:
Du befindest Dich in dem Verzeichnis, in welcehn die *.ogg liegen
Du hast hier Schreibrechte
Du hast das Skript hier liegen und rufst es (nach einem "chmod +x") mit "./skript.sh" auf
Du bist damit einverstanden, dass hier ein Verzeichnis "oggdir" angelegt wird
Du passt die vorletzte Zeile an a2mp3 an (ich hab oggdec/lame genommen, weil ich von a2mp3 Null Ahnung habe)

#!/bin/bash
IFS="
"
for TRACK in `find . -name "*.ogg"`; do
	TMPDIR=`dirname "$TRACK"`
	OGGDIR=oggdir"${TMPDIR/.}"
	TMPFILE=`basename "$TRACK"`
	OGGFILE=${TMPFILE%.ogg}.mp3
	[ -d "$OGGDIR" ] || mkdir -p "$OGGDIR"
	oggdec -o - "$TRACK" | lame - "$OGGDIR"/"$OGGFILE"
done

Es findet jedes *.ogg unterhalb des Arbeitsverzeichnisses und legt (nur dann! sprich: wenn "./Howard Carpendale" leer ist, passiert nichts) in ./oggdir/ "Künstler/Album" an. Die letzte Zeile macht aus "./Künstler/album/lied1.ogg" ".oggdir/Künster/Album/"lied1.mp3".
Ich hoffe, ich hab keine Tücken bezüglich Leerzeichen/Zeilen übersehen\^^
Aber kaputt gehen kann nichts ;o)

Antworten |