Le 03/12/2018 à 18:10, Uwe Kerstan a écrit :
* Klaus Becker [02-12-2018 19:11]:Nutze die Symlinks, das wäre die einzige Referenz, etwa so:Aus den Symlinks habe ich zwecks Vereinfachung mit "touch" reale Dateien erstellt und die Symlinks gelöscht.for datei in $kurznamen/*.mpg ; do if [ -L $datei ]; then langname=$(basename $(readlink $datei)) kurzname=$(basename $datei) echo $kurzname $langname fi done Ein ähnliches Beispiel hast du bereits bekommen. Gruß Uwe
Hallo Uwe und alle, Die Situation: ============= rename$ pwd /home/klaus/todo/tv/rename $ ls aufnamen kurznamen rename.sh $ ls aufnamen/ filmlang1.mpg filmlang2.mpg filmlang3.mpg $ ls kurznamen/ film1.mpg film2.mpg film3.mpg Skript: ======= for datei in ~/todo/tv/rename/kurznamen/$kurznamen/*.mpg ; do if [ -L $datei ]; then langname=$(basename $(readlink ~/todo/tv/rename/aufnahmen/$datei)) kurzname=$(basename ~/todo/tv/rename/kurznamen/$datei) echo $kurzname $langname fi done rename$ ./rename.sh basename: missing operand film1.mpg basename: missing operand film2.mpg film3.mpg Ich habe dein Skript angepasst und teste es Zeile für Zeile: ============================================================ for datei in ~/todo/tv/rename/kurznamen/$kurznamen/*.mpg ; do echo $datei done $ ./rename.sh /home/klaus/todo/tv/rename/kurznamen//film1.mpg /home/klaus/todo/tv/rename/kurznamen//film2.mpg /home/klaus/todo/tv/rename/kurznamen//film3.mpg Scheint zu klappen, aber warum "//"? rename$ ./rename.sh basename: missing operand rename$ basename $(readlink ~/todo/tv/rename/aufnahmen/$datei) basename: rename$ basename $(readlink ~/todo/tv/rename/aufnahmen/$datei) basename: missing operand missing operand Ich hoffe, ich habe das Problem verständlich geschildert. Klaus