Hallo, On Sun, 06 Oct 2002, Jan Trippler wrote:
On Sam, 05 Okt 2002 at 15:36 (+0200), David Haller wrote:
On Sat, 05 Oct 2002, Jan Trippler wrote: [...]
# 1. Schritt: alles was nicht symlink ist kopieren: cd quelle find . -not -type l -print | cpio -pdm ziel
# 2. Schritt: symlinks holen: find . -type l -print | while read i; do q=`readlink $i | sed 's#^quelle#ziel#'` ln -s $q ziel/$i done
Och, das geht auch allgemein ;) Hab jetzt aber keine Lust da jetzt z.B. mit tar zu testen...
So? Zeigen! *fg*
Aber gern! /tmp/test $ ls -lR quelle ziel quelle: total 4 -rw-r--r-- 1 dh dh 0 Oct 6 05:50 a -rw-r--r-- 1 dh dh 0 Oct 6 05:50 b lrwxrwxrwx 1 dh dh 1 Oct 6 05:50 c -> a lrwxrwxrwx 1 dh dh 18 Oct 6 05:53 d -> /tmp/test/quelle/b drwxr-xr-x 2 dh dh 4096 Oct 6 05:54 dir quelle/dir: total 0 -rw-r--r-- 1 dh dh 0 Oct 6 05:54 e -rw-r--r-- 1 dh dh 0 Oct 6 05:54 f lrwxrwxrwx 1 dh dh 18 Oct 6 05:54 g -> /tmp/test/quelle/a ziel: total 0 /tmp/test $ cd quelle /tmp/test/quelle $ find . -type f -print0 | tar cp --null -T - \ | tar xp -C /tmp/test/ziel/ /tmp/test/quelle $ cd .. /tmp/test $ ls -lR ziel ziel: total 4 -rw-r--r-- 1 dh dh 0 Oct 6 05:50 a -rw-r--r-- 1 dh dh 0 Oct 6 05:50 b drwxr-xr-x 2 dh dh 4096 Oct 6 06:04 dir ziel/dir: total 0 -rw-r--r-- 1 dh dh 0 Oct 6 05:54 e -rw-r--r-- 1 dh dh 0 Oct 6 05:54 f Schritt 2 wie oben. Noch Fragen? Alternativ geht uebrigens auch: find . -not -type l -print0 | tar cp --null -T - --no-recursion \ | tar xp -C /tmp/test/ziel/ Und statt -print0 | tar cp --null -T - muesste auch '-print | tar cp -T -' klappen, aber das habe ich jetzt nicht getestet.
Der fundamentale Unterschied zwischen cpio und tar ist: cpio liest die Liste der _Dateinamen_ von stdin, tar höchstens die _Inhalte_ der Dateien. Du kannst ähnliche Sachen wie Schritt 1 natürlich mit tar machen, brauchst dazu aber IMHO mindestens einen zusätzlichen Schritt: Das Erzeugen einer Dateiliste als (temp.) Datei.
Nein. s.o. tar -T liest Dateinamen aus einer Datei. Und diese kann eben auch /dev/stdin sein (was wie bei tar ueblich als '-' angegeben werden kann) -- warum auch nicht! Man lese 'tar --help' *fg*
Schritt 2 ist eh unabhängig von tar, cpio und Co. - ich wüsste nicht, wie man das Neuanlegen von Links mit diesen Mitteln hinkriegen sollte.
Genau.
-dnh, dem afio sympatischer als cpio ist ;)
Geschmackssache. cpio treibt sich auf vielen Unixen rum, afio AFAIK nicht ;-)
Ack. -dnh --
Ach was, so ein bisschen Strom macht doch einem alten Elektriker nichts aus.. ...jaja, *sicherungsrausdreh* *reinlang* "Jo, dor is Strom in" -- cmt und MOW in dasr