Link für Dateien in einem Unterverzeichnis erstellen

S

StefanVDR

Hallo,

ich benötige ein Script, welches mir für alle 001.vdr-Dateien im Verzeichnis /video0 einen Link mit dem Namen 001.vdr_ln.mpg erstellt.

Bin Linux-Neuling. Dennoch habe ich mal selber versucht ein Script zu erstellen...
-------------------------
#!/bin/sh
#
# Befehl vdr2mpg.sh
# Erstelle Links für alle VDR-Dateien in einem Verzeichnis und dessen
# Unterverzeichnisse
#
for k in `find /video0/ -name [0-9]*.vdr`
do
echo -n "ln -s " $k "" $k"_ln.mpg"
parameter="ln -s " $k "" $k"_ln.mpg"
#echo -n $parameter
printf "\n"
done
read # auf Taste warten
----------------------------------
Leider erscheint jedoch immer: Permission denied

Bin ich überhaupt auf dem richtigen Weg? Was muss geändert werden damit es funktioniert?
 
Hast Du Rechte, im /video0 zu suchen oder Links anzulegen? Desweiteren verstehe ich nicht den Sinn von
Code:
parameter="ln -s " $k "" $k"_ln.mpg"
.
 
Ich komme aus der VBA-Welt und habe versucht mir einen Befehlsstring zu erstellen, den ich dann ausführen kann.

Wenn im Verzeichnis /video0 die Datei 001.vdr liegt, soll letztlich das Script folgendes ausführen:
ln -s /video0/001.vdr /video0/001.vdr_ln.mpg

Du kannst mein Script gerne so umstellen, das es funktioniert.

Wenn ich den Befehl direkt in der Bash eingebe funktioniert das auch.
Wenn ich jedoch das Script mit bash vdr2mpg.sh oder über dem MidnightCommander ausführe funktioniert es nicht .-(






Phorus schrieb:
Hast Du Rechte, im /video0 zu suchen oder Links anzulegen? Desweiteren verstehe ich nicht den Sinn von
Code:
parameter="ln -s " $k "" $k"_ln.mpg"
.
 
Code:
#!/bin/sh
#
# Befehl vdr2mpg.sh
# Erstelle Links für alle VDR-Dateien in einem Verzeichnis und dessen
# Unterverzeichnisse
#
for k in `find /video0/ -name [0-9]*.vdr`
do
  echo "ln -s  $k ${k}_ln.mpg"
  ln -s "$k" "${k}_ln.mpg"
done
read # auf Taste warten
 
Zuletzt bearbeitet:
Ich werde das Script heute Abend testen.

Vielen Dank für Deine Hilfe Phorus!

Stefan

Phorus schrieb:
Code:
#!/bin/sh
#
# Befehl vdr2mpg.sh
# Erstelle Links für alle VDR-Dateien in einem Verzeichnis und dessen
# Unterverzeichnisse
#
for k in `find /video0/ -name [0-9]*.vdr`
do
  echo "ln -s  $k ${k}_ln.mpg"
  ln -s "$k" "${k}_ln.mpg"
done
read # auf Taste warten
 
Zuletzt bearbeitet von einem Moderator:
Hab gerade gesehen, dass "{}" im Skript fehlten, jetzt stimmts aber.

Gruss, Phorus
 
zu Hause habe ich noch ein kleine Änderung gemacht.

Hier nun das funktionierende Script:
#!/bin/sh
#
# Stefan Lorei
#
# Befehl vdr2mpg.sh
# Aufruf bash vdr2mpg.sh
#
# Beschreibung:
# Dieses Script soll für alle VDR-Dateien in /video0
# und dessen Unterverzeichnissen
# einen Softlink mit der Endung _ln.mpg erstellen
for k in `find /video0/ -name [0-9]*.vdr`
do
echo -n "ln -s" $k $k"_ln.mpg"
ln -s "$k" "$k"_ln.mpg
done
read # auf Taste warten



Phorus schrieb:
Hab gerade gesehen, dass "{}" im Skript fehlten, jetzt stimmts aber.

Gruss, Phorus

Das werde ich dann auch noch testen.

Vielen Dank Phorus für die schnelle und vor allem sehr gute Hilfe!:)
 

Ähnliche Themen

Samba Dateien und Ordner verschieben

Queue für copy Script

Samba 4 Gast Zugang unter Ubuntu funktioniert nicht

Last mit etc/passwd anzeigen lassen

Falsche Rechte gesetzt beim Anlegen von Ordnern via Samba-Client

Zurück
Oben