Le 03/12/2018 à 18:10, Uwe Kerstan a écrit :
* Klaus Becker [02-12-2018 19:11]:
Aus den Symlinks habe ich zwecks Vereinfachung mit "touch" reale Dateien
erstellt und die Symlinks gelöscht.
Nutze die Symlinks, das wäre die einzige Referenz, etwa so:
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