PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : viele dateien sortieren aber wie ?!



Cyberbob
09.11.03, 15:11
hallo leute

hab hier ein wichtiges anliegen hab ca. 24000 dateien die alle sortierte werden müssen. alle dateien sind vom dateinamen so aufgebaut.

...
In Flames - Strong and Smart.gp3
Adams, Bryan - Its Only Love.gp4
...

jetzt will ich alle dateien in ordner verschieben. z.b. soll das script einen Ordner.

In Flames

erstellen und alle dateien die mit "In Flames" anfange dort rein verschieben. Aber ich bekomm ich das hin das er den namen der gruppe aus der datei liest und das er die dateien dann unter ordnet und wenn noch kein ordner verfügbar ist das er einen erstellt.

wenn es weniger dateien währen würde ich die von hand sortieren das ist mir aber zuviel arbeit und denke das müsste doch irgendwie mit einem script oder programm gehen.

kenn mich leider mit scripting nicht wirklich aus. könntet ihr mir da ein bissel unter die arme gehen.

thx

cyber

Sachse
09.11.03, 15:53
Konqueror und oben " In Flames*.gp3 " eintippen.

Dann manuell verschieben.

Reicht nicht ?

zander
09.11.03, 16:13
Ein einfaches Skript, daß diese Funktion erfüllt könnte z.B. so aussehen:



#!/bin/sh

for i in *; do
artist=$(echo $i | sed 's/\(.*\) -.*/\1/')
if [ ! -d "$artist" ]; then mkdir "$artist"; fi
mv "$i" "$artist"
done


Es versagt allerdings bei Dateien, die nicht der Konvention folgen, d.h. solchen Dateien, die den Interpreten und den Titel nicht durch " - " trennen. Weiterhin wird es nicht korrekt arbeiten, wenn Dateien mit dem gleichen Namen wie zu erstellende Zielverzeichnisse existieren. Du solltest also sicherstellen, daß die Dateien tatsächlich alle dem Profil genügen. Im Zweifelsfall kannst Du die letzte Zeile durch echo mv "$i" "$artist" ersetzen, einen Probelauf machen und prüfen, ob kein Unsinn gemacht würde.

Cyberbob
09.11.03, 16:33
ich danke dir das mit dem script klappt wunderbar. :D

wo kann ich eigentlich mehr über die script sprache erfahren. gibt es da eine bestimmte seite die gut für sowas ist ?!

zander
09.11.03, 17:57
Hier (http://www.tldp.org/LDP/abs/html/) findest Du eine gute "Einführung" (bezieht sich auf bash).

cyrip
10.11.03, 04:28
oder einfach die bibel, wie sie unser unix-prof immer genannt hat:


man bash


und das koennte auch noch wichtig/hilfreicht sein (auf grund der regular expressions):


man egrep

zander
10.11.03, 05:50
Das Problem ist, daß es leider nicht wenige Unterschiede zwischen den verschiedenen Anwendungen mit Unterstützung für reguläre Ausdrücke gibt, z.B. also zwischen grep und sed. Es kann daher nicht schaden, sich ein gutes Buch (z.B. Mastering Regular Expressions) zuzulegen, in dem solche Unterschiede beschrieben werden.

City][Sepp
10.11.03, 06:45
Die Thematik würde mich auch mal etwas mehr interessieren. Kann jemand ein gutes, deutschsprachiges Buch zum Thema shell-scripting empfehlen? Wenn auch gleich noch ander Scriptsprachen behandelt werden würden (z.B. Perl) wärs auch nicht verkehrt...

mwanaheri
10.11.03, 09:05
Original geschrieben von zander
Hier (http://www.tldp.org/LDP/abs/html/) findest Du eine gute "Einführung" (bezieht sich auf bash).

Vielen Dank für den Tip. Seehr nützlich.

zander
10.11.03, 11:45
Bitteschön.

AB65
07.04.07, 15:29
Sorry Sorry
der thread ist ja uralt aber da es das einzige halbwegs brauchbare war das google hochgespült hat frage ich dann doch mal . Meine Problemstellung ist ähnlich ein großes Verzeichnis für das ich Ordner erstellt haben möchte und die Dateien darein verschoben.
Nur ist der Aufbau der Dateinamen anders
xxx_Name.Dateiformat
ich gebe es zu ich habe den sed Aufruf oben nicht begriffen und kann ihn deshalb nicht ändern.
MfG
AB65