Hallo,
ich habe folende Verzeichnisstruktur:
ALLE
ort1
ort2
ort3
Unterhalb von "ortx" befinden sich Bilder. Jetzt würde ich gerne per Skript von jedem Bild in "ortx" einen Softlink nach "ALLE" machen. Punkt ist, die Ordner "ortx" haben natürlich beliebige Namen.
find hat mich zum Wahnsinn getrieben, da ich "{}" nicht zerlegen kann.
sh Skript: Links automatisieren ?
Wenn unter den ortx-Verzeichnissen keine weiteren Unterverzsichnisse mehr sind, ist es einfach:ln legt dann für jede Datei in ort*/ einen Link im aktuellen Arbeitsverzeichnis an, welches ALLE ist.
Jochen
Code: Select all
#!/bin/bash
cd ALLE
for DIR in ../ort* ; do
ln -s $DIR/* .
done
Jochen
Die grösste Lüge der EDV? "Mal eben..."
Nu je, wenn Du nur von ort1, ort2, ortx schreibst, dann kann man das schon so für bare Münze nehmen, oder? Deine Lösung funktioniert, ruft aber pro Datei ein ln-Kommando auf. Bei meiner Lösung wird pro Verzeichnis ein ln-Kommando ausgerufen; je nachdem, wieviele Dateien so in einem Verzeichnis liegen können, kann das schon einen echten Performance-Unterschied machen.
Da ist dann auch der Name der Verzeichnisse egal.
Jochen
Code: Select all
#!/bin/bash
cd ALLE
for DIR in $(find .. -type d | grep -v ALLE) ; do
ln -s $DIR/* .
done
Jochen
Die grösste Lüge der EDV? "Mal eben..."