Exclude beim Kopieren
Hallo kann mir einer sagen wie ich ein Verzeichnis mit Unterverzeichnissen kopieren kann, hier aber einen Exclude eines Verzeichnisses angebe ? Bspw. möchte ich /server/aaa /server/bbb /server/ccc Mittels cp -rp /server kopieren aber das Verz. /server/ccc excluden. In den Manpages von cp habe ich nix finden können. -- Set the controls for the heart of the sun Peter
On Friday 19 April 2002 09:15, Peter Forst wrote:
Hallo
kann mir einer sagen wie ich ein Verzeichnis mit Unterverzeichnissen kopieren kann, hier aber einen Exclude eines Verzeichnisses angebe ? Bspw. möchte ich /server/aaa /server/bbb /server/ccc Mittels cp -rp /server kopieren aber das Verz. /server/ccc excluden. In den Manpages von cp habe ich nix finden können.
Hi Peter, versuchs doch stattdessen mal mit tar, Parameter -X (--exclude-from=FILE). In FILE steht, was excluded werden soll. Gruß Peter
Am Freitag, 19. April 2002 09:56 schrieb Peter Bergmann:
On Friday 19 April 2002 09:15, Peter Forst wrote:
Hallo
kann mir einer sagen wie ich ein Verzeichnis mit Unterverzeichnissen kopieren kann, hier aber einen Exclude eines Verzeichnisses angebe ? Bspw. möchte ich /server/aaa /server/bbb /server/ccc Mittels cp -rp /server kopieren aber das Verz. /server/ccc excluden. In den Manpages von cp habe ich nix finden können.
Hi Peter, versuchs doch stattdessen mal mit tar, Parameter -X (--exclude-from=FILE). In FILE steht, was excluded werden soll.
Gruß Peter
hi wie mit TAR ? Als Ziel dann statt des /dev/tape ein Zielverzeichnis angeben ??? -- Set the controls for the heart of the sun Peter
Am Fre, 19 Apr 2002 schrieb Peter Forst:
Am Freitag, 19. April 2002 09:56 schrieb Peter Bergmann:
On Friday 19 April 2002 09:15, Peter Forst wrote:
Hallo
kann mir einer sagen wie ich ein Verzeichnis mit Unterverzeichnissen kopieren kann, hier aber einen Exclude eines Verzeichnisses angebe ? Bspw. möchte ich /server/aaa /server/bbb /server/ccc Mittels cp -rp /server kopieren aber das Verz. /server/ccc excluden. In den Manpages von cp habe ich nix finden können.
Hi Peter, versuchs doch stattdessen mal mit tar, Parameter -X (--exclude-from=FILE). In FILE steht, was excluded werden soll.
Gruß Peter
hi
wie mit TAR ? Als Ziel dann statt des /dev/tape ein Zielverzeichnis angeben ???
Mit tar auf STDOUT ausgeben über eine Pipe an ein neues Tar weiterleiten, das von Stdin liest. Vom Prinzip her so (ungetestet) tar -c -f - ...weitere Optionen...| (cd zielverzeichnis && tar xvf -) Gruß Christoph -- Christoph Maurer - 52072 Aachen - Tux#194235 mailto:christoph-maurer@gmx.de - http://www.christophmaurer.de Auf der Homepage u.a.: Installation von SuSE 7.0 auf Notebook Acer Travelmate 508 T, Elektrotechnik an der RWTH Aachen
On Friday 19 April 2002 10:00, Peter Forst wrote:
Am Freitag, 19. April 2002 09:56 schrieb Peter Bergmann:
On Friday 19 April 2002 09:15, Peter Forst wrote:
Hallo
kann mir einer sagen wie ich ein Verzeichnis mit Unterverzeichnissen kopieren kann, hier aber einen Exclude eines Verzeichnisses angebe ? Bspw. möchte ich /server/aaa /server/bbb /server/ccc Mittels cp -rp /server kopieren aber das Verz. /server/ccc excluden. In den Manpages von cp habe ich nix finden können.
Hi Peter, versuchs doch stattdessen mal mit tar, Parameter -X (--exclude-from=FILE). In FILE steht, was excluded werden soll.
Gruß Peter
hi
wie mit TAR ? Als Ziel dann statt des /dev/tape ein Zielverzeichnis angeben ???
Hi, klar. Man kann jedes Ziel angeben (natürlich muss man Schreibrechte drauf haben). Tar war halt ursprünglich zum Archivieren auf Tapes gedacht (Tape ARchiver). Bsp: cd /home tar cvf /backup/home.tar * sichert alles im Home-Verzeichnis (incl. Unterverzeichnissen) nach /backup in die Datei home.tar. tar xvf /backup/home.tar . entpackt wieder ins aktuelle Verzeichnis zurück. Am besten mal man tar, da stehen die ganzen Möglichkeiten u. Parameter drin. Gruß Peter
On Friday 19 April 2002 10:18, Peter Bergmann wrote:
Hi, klar. Man kann jedes Ziel angeben (natürlich muss man Schreibrechte drauf haben). Tar war halt ursprünglich zum Archivieren auf Tapes gedacht (Tape ARchiver). Bsp: cd /home tar cvf /backup/home.tar *
sichert alles im Home-Verzeichnis (incl. Unterverzeichnissen) nach /backup in die Datei home.tar.
tar xvf /backup/home.tar . ^ Sorry, der Punkt hinter home.tar muss weg!
entpackt wieder ins aktuelle Verzeichnis zurück.
Am besten mal man tar, da stehen die ganzen Möglichkeiten u. Parameter drin. Gruß Peter
Gruß Peter
Am Freitag, 19. April 2002 09:15 schrieb Peter Forst:
Hallo
kann mir einer sagen wie ich ein Verzeichnis mit Unterverzeichnissen kopieren kann, hier aber einen Exclude eines Verzeichnisses angebe ? Bspw. möchte ich /server/aaa /server/bbb /server/ccc Mittels cp -rp /server kopieren aber das Verz. /server/ccc excluden. In den Manpages von cp habe ich nix finden können.
habe mal schnell was gecodet (deine Frage hat mein Bedürfnis nach einem solchen Programm geweckt): das Script filtert aus "arguments" alles raus, was in "exclude" drin ist, zwar nicht schön, aber es machts. bei mir heißt es "no". Beispiel: $ pwd /bla/bla/test $ ls .. abc adf arg bdgf chfjroi deoij esdf fsdf ggt hsdiuf ikjsadf $ no "esdf ../a*" cp ../* . $ ls bdgf chfjroi deoij fsdf ggt hsdiuf ikjsadf --------------- Skript "no" #!/bin/bash # Syntax: no "wildcard" command files exclude=`echo $1` command=$2 shift 2 args=$* for i in $exclude; do args=`echo $args | sed "s|$i||"` done $command $args ----------------------------------------- Gruß Kai
Hallo, On Fri, 19 Apr 2002, Kai Lindenberg wrote:
habe mal schnell was gecodet (deine Frage hat mein Bedürfnis nach einem solchen Programm geweckt):
das Script filtert aus "arguments" alles raus, was in "exclude" drin ist, zwar nicht schön, aber es machts. bei mir heißt es "no".
Nette Idee, die aber nicht funktioniert.
Beispiel: Skript "no"
#!/bin/bash # Syntax: no "wildcard" command files
exclude=`echo $1` command=$2 shift 2 args=$* for i in $exclude; do args=`echo $args | sed "s|$i||"` done $command $args
$ ls -b .. "foo"\nund\n"bar" a\ b anb no~ t\bte\bes\bst\bt a\nb a\\nb no t\b_e\b_s\b_t\b_ ziel /tmp/test/kranke_dateinamen/ziel (0) $ ../no "n*" cp ../* . ../no: ../"foo": No such file or directory cp: ../"foo": No such file or directory cp: und: No such file or directory cp: "bar": No such file or directory cp: ../a: No such file or directory cp: b: No such file or directory cp: ../a: No such file or directory cp: b: No such file or directory cp: ../ziel: omitting directory Mit tar klappts: /tmp/test/kranke_dateinamen/ziel (1) $ (cd ..; tar cp --exclude="no*" --exclude="ziel" .) | (tar xp; ) /tmp/test/kranke_dateinamen/ziel (0) $ ls -b "foo"\nund\n"bar" a\nb a\ b a\\nb anb t\b_e\b_s\b_t\b_ t\bte\bes\bst\bt /tmp/test/kranke_dateinamen/ziel (0) $ -dnh PS: Nein, so auf Anhieb hab ich das script nicht korrigieren koennen. -- If human beings don't keep exercising their lips, he thought, their mouths probably seize up. After a few months' consideration and observation he abandonded this theory in favor of a new one. If they don't keep on exercising their lips, he thought, their brains start working. -- THHGTTG
Am Samstag, 20. April 2002 01:10 schrieb David Haller:
Hallo,
On Fri, 19 Apr 2002, Kai Lindenberg wrote:
habe mal schnell was gecodet (deine Frage hat mein Bedürfnis nach einem solchen Programm geweckt):
das Script filtert aus "arguments" alles raus, was in "exclude" drin ist, zwar nicht schön, aber es machts. bei mir heißt es "no".
Nette Idee, die aber nicht funktioniert.
ok, ich zieh das Programm zurück, Leerzeichen u.ä. in Dateinamen erfordern größeren Aufwand.
$ ls -b .. "foo"\nund\n"bar" a\ b anb no~ t\bte\bes\bst\bt a\nb a\\nb no t\b_e\b_s\b_t\b_ ziel /tmp/test/kranke_dateinamen/ziel (0) $ ../no "n*" cp ../* .
Der Aufruf sollte auch so sein: $ no "../n*" cp ../* . ^^^^^
../no: ../"foo": No such file or directory cp: ../"foo": No such file or directory cp: und: No such file or directory cp: "bar": No such file or directory cp: ../a: No such file or directory cp: b: No such file or directory cp: ../a: No such file or directory cp: b: No such file or directory cp: ../ziel: omitting directory
Gruß Kai
Hallo, On Sun, 21 Apr 2002, Kai Lindenberg wrote:
Am Samstag, 20. April 2002 01:10 schrieb David Haller:
On Fri, 19 Apr 2002, Kai Lindenberg wrote:
habe mal schnell was gecodet (deine Frage hat mein Bedürfnis nach einem solchen Programm geweckt):
das Script filtert aus "arguments" alles raus, was in "exclude" drin ist, zwar nicht schön, aber es machts. bei mir heißt es "no".
Nette Idee, die aber nicht funktioniert.
ok, ich zieh das Programm zurück, Leerzeichen u.ä. in Dateinamen erfordern größeren Aufwand.
Ack. Und zwar einen, der mir deutlich zu gross ist ;) Wobei die Leerzeichen noch am harmlosesten sind *eg*
$ ls -b .. "foo"\nund\n"bar" a\ b anb no~ t\bte\bes\bst\bt a\nb a\\nb no t\b_e\b_s\b_t\b_ ziel /tmp/test/kranke_dateinamen/ziel (0) $ ../no "n*" cp ../* .
Der Aufruf sollte auch so sein:
$ no "../n*" cp ../* . ^^^^^
Stimmt, ist aber wohl irrelevant... ;) Achso, meine Kritik ist nicht 'herabsetzend' gemeint! Ich mach solche Fehler auch immer wieder... Hm... Ich hatte noch ein paar Dateinamen vergessen, z.B. '--no-such-option'... $ ls * ls: unrecognized option `--no-such-option' *lol* -dnh -- Hah! If they were going to do that, they'd be just as likely to buy some extra rope to keep the pigs from getting out of their rooftop aviary.
Am Montag, 22. April 2002 02:13 schrieb David Haller:
Hallo,
On Sun, 21 Apr 2002, Kai Lindenberg wrote:
Am Samstag, 20. April 2002 01:10 schrieb David Haller:
[...]
$ ls -b .. "foo"\nund\n"bar" a\ b anb no~ t\bte\bes\bst\bt a\nb a\\nb no t\b_e\b_s\b_t\b_ ziel /tmp/test/kranke_dateinamen/ziel (0) $ ../no "n*" cp ../* .
Der Aufruf sollte auch so sein:
$ no "../n*" cp ../* . ^^^^^
Stimmt, ist aber wohl irrelevant... ;)
nur der Vollständigkeit halber...
Achso, meine Kritik ist nicht 'herabsetzend' gemeint! Ich mach solche Fehler auch immer wieder...
habe ich auch nicht so aufgefasst. Die meisten Leute in der Liste kann ich ganz gut einschätzen.
Hm... Ich hatte noch ein paar Dateinamen vergessen, z.B. '--no-such-option'...
$ ls * ls: unrecognized option `--no-such-option'
da sollte sich wohl bald mal jemand an die shell setzen, das zu beheben, aber mit etwas Erfahrung kann jeder solche Sachen in den Griff kriegen. Gruß Kai
participants (5)
-
Christoph Maurer
-
David Haller
-
Kai Lindenberg
-
Peter Bergmann
-
Peter Forst