On 8 Oct 2002 at 11:17, Achim Hoffmann wrote:
On Thu, 7 Oct 2002, Jan Trippler wrote:
On 6 Oct 2002 at 22:36, Achim Hoffmann wrote: [...]
find /quelle -type l -printf "cp -r %l /tmp/%p\n"|grep '^cp -r /'|sh
Das ist allerdings ein interessanter Vorschlag, aber keine Lösung. Du kopierst die Ziele der Links nach tmp - was soll das für die ursprüngliche Frage bringen?
Bist du sicher mit deiner Aussage: "kopierst die Ziele der Links nach tmp"? Auf meinem System werden die Targets nach tmp kopiert.
Was ist denn Deiner Meinung nach ein *Target*? Oder anders rum gefragt: Nenne mir ein anderes Wort für *Ziel*.
Das kopieren der Targets war doch in der urspruenglichen Frage (wegen backup) so gewollt (oder habe ich da was verpasst?).
Ja, das hast Du offensichtlich. Gesucht war das Umsetzen der Links auf die kopierten Dateien (Ziele bzw. Targets *g* der Links) im Zielverzeichnis. Siehe mein Lösungsvorschlag (ein paar Mails früher).
/tmp als Ziel habe ich nur geschrieben um zu verhindern dass ein DAU die Zeile mit copy&paste ausprobiert (ohne sich ueber die Folgen klar zu sein;-) Oder einfach ausprobieren, ohne das finale |sh natuerlich.
Aha, aber warum schreibst Du sowas nicht einfach dazu? So kommt der gleiche DAU auf die Idee und meldet sich mit *das funktioniert doch gar nicht*.
Loesung (fuer die urspruenglichen Frage) hin oder her, der Einzeiler sollte ein "Tool" fuer "Kopieren ... symbolische Links umsetzen" sein.
Der setzt aber Links nicht um, sondern ersetzt sie durch die physikalische Kopie. _Das_ können alle gebräuchlichen datei-orientierten Kopierbefehle: aus man tar: -h, --dereference don't dump symlinks; dump the files they point to aus man cpio: -L, --dereference Dereference symbolic links (copy the files that they point to instead of copying the links). aus man cp: -L, --dereference always follow symbolic links
Jetzt alles klar?
Hier noch ein netter Einzeiler für das Entfernen von DOS-Zeilenenden: cat dos_file | tr -d '\r' Hat auch nix mit dem Thema zu tun, aber schick, ne? ;-) Jan