Re: mehrere Symlinks gleichzeitig ändern?
Jens Nixdorf [mailto:jens.nixdorf.liste@trackpoint.de] wrote:
ich habe hier ein Verzeichnis, in dem viele libs und ihre Symlinks herumliegen. Dieses Verzeichnis wurde vor Kurzem von einer anderen Stelle verschoben und dabei wurden die Links mitkopiert, aber nicht angepasst, so daß sie noch auf die alte Stelle weisen. Ich habe jetzt keine große Lust, die ganzen Links von Hand wieder anzupassen.
zu Verständnis: im Verzeichnis x liegen die Files a und b; ferner symlinks c->olddir/a und d->olddir/b, richtig? (Also wie in /libs; nur die symlinks mit Pfadangabe)? Einzeiler (geht vielleicht auch einfacher!): ls -al|awk '/^l/ {print $8,$10}|while read from to do rm $from && ln -s $(basename $to) $from done Erstellt symlinks der Art c->a und d->b; Das Verzeichnis würde ich weglassen! Das tut's hier jedenfalls. Andreas
Am Donnerstag, 20. April 2006 14:12 schrieb Kyek, Andreas, VF-DE:
zu Verständnis: im Verzeichnis x liegen die Files a und b; ferner symlinks c->olddir/a und d->olddir/b, richtig? (Also wie in /libs; nur die symlinks mit Pfadangabe)?
Ja, genau.
Einzeiler (geht vielleicht auch einfacher!):
ls -al|awk '/^l/ {print $8,$10}|while read from to do rm $from && ln -s $(basename $to) $from done
Erstellt symlinks der Art c->a und d->b; Das Verzeichnis würde ich weglassen!
Konnte das fast 1:1 übernehmen, nur print$9,$11 musste ich nehmen. Und daß ich eine Stunde gebraucht habe, um zu merken, daß in awk '/^l/ {...}' keine "Eins", sondern ein "L" steht, schreibe ich hier lieber nicht ;) Danke, Jens
participants (2)
-
Jens Nixdorf
-
Kyek, Andreas, VF-DE