Mailinglist Archive: opensuse-de (5395 mails)
| < Previous | Next > |
Re: mv und Softlinks
- From: cschult@xxxxxx (Christian Schult)
- Date: Tue Feb 01 09:58:46 2000
- Message-id: <20000201105846.C7558@xxxxxxxxxxxx>
Heinz W. Pahlke wrote:
> ich habe mir ein ganz bloedes Problem eingefangen. Im Laufe der
> Jahre haben sich auf der Festplatte an die 10 000 Textdateien in
> einigen Dutzend Verzeichnissen angesammelt. Da viele Dateien
> thematisch in mehreren Verzeichnissen liegen koennen, habe ich
> entsprechende Softlinks angelegt.
>
> Bloss - wenn ich jetzt das Verzeichnissystem veraendere, d.h. neue
> Unterverzeichnisse anlege und Dateien dorthin move, zeige u.U.
> diverse Links ins Leere.
>
> Wenn ich in den man-pages nichts ueberlesen habe, dann schliessen
> ln -s und mv sich gegenseitig aus.
>
> Alternative: Hardlinks? Oder gibt es einen besseren Weg? Bei
> Hardlinks stoert mich vor allem, dass ls nicht erkennen laesst, ob
> es sich wirklich um eine Datei oder nur einen Link handelt.
>
> Da ich mir nicht vorstellen kann, dass andere dieses Problem nicht
> auch bereits hatten, gibt es bestimmt auch schon laengst gute
> Loesungen.
Wenn die Linknamen der Dateien identisch mit den Originaldateien
sind, könnte es klappen.
Du bräuchtest ein Script, dass dir die toten Links raussucht, die
Datei auf die der Link mal zeigte anhand des Namens findet und den
Link dann neu erstellt. Das Finden der toten Links ist kein Problem,
da habe ich noch ein Script gefunden:
#!/bin/sh
### oldlinks - print pathnames of outdated (un-connected) symbolic links
### Usage: oldlinks directory [directories...]
#
# written by Tom Christiansen
#
find . -type l -print | perl -nle '-e || print'
Das Script muss nun so erweitert werden, dass von den toten Links
der Pfad abgeschnitten wird, so dass nur noch der Dateiname
übrigbleibt. Nach dem Dateinamen suchst du dann in deiner
Verzeichnishierarchie. Wenn gefunden, wird der Link gelöscht und
ein neuer, passender angelegt.
christian
--
Bitte kein CC: bei Antwort an Mailingliste
Mail-Etikette: To: cschult@xxxxxx, Subject: send etikette
Mail-Etikette: http://www.ndh.net/home/schult/etikette.html
---------------------------------------------------------------------
To unsubscribe, e-mail: suse-linux-unsubscribe@xxxxxxxx
For additional commands, e-mail: suse-linux-help@xxxxxxxx
| < Previous | Next > |