RE: Komplexer Find-Befehl
Al, Al Bogner schrieb:
nun will ich die Original-Files / Verzeichnisse, die ich als Klingelton selektiert hatte, per Script finden.
Vorhanden ist folgendes:
~/klingeltoene/album1/ton1.mp3 ~/klingeltoene/album2/ton2.mp3 ...
Mit find ~/klingeltoene -mindepth 1 -maxdepth 1 -type d | sort | cut -f 5 -d"/" habe ich mal alle Albennamen.
Die Originale dazu liegen in /irgendwas/irgendwas2/ /irgendwas/irgendwas2/irgendwas/irgendwas3/
D.h., verstreut in einer Partition in unterschiedlichen Verzeichnistiefen.
Ich müsste also das Ergebnis des 1. Finds an einen 2. Find verfüttern
Also irgendwie so: find /Mp3/ -type d -regex ".*albumname.*"
"xargs" sollte Dein Problem lösen. Das könnte dann evtl. so aussehen: find ~/klingeltoene -mindepth 1 -maxdepth 1 -type d |\ sort | cut -f 5 -d"/" |\ xargs -i{} find /Mp3/ -type d -regex ".*{}.*" |\ xargs -i{} scriptname "{}"
Zu guter letzt muss man noch einen Vergleich der Dateinamen von 2 Verzeichnissen machen und die Dateien im 2. Verzeichnis löschen, die im 1. Verzeichnis nicht vorhanden sind.
DIR1=/blabla1 DIR2=/blubber2 for i in $DIR2/* do if [ ! -f "$DIR1/`basename \"$i\"`" ];then rm "$i" fi done Gruss, Peter. -- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com
participants (1)
-
GUNREBEN, PETER (Peter)