Autor Thema: Eine Datei in mehrere Verzeichnisse gleichzeitig verteilen?  (Gelesen 1331 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Gast

  • Gast
Wenn ich eine einzelne Datei per SSH auf alle Unterverzeichnisse eines Dateibaumes verteilen will:

geht das?
wie lautet die Sytax?



Offline Thalamus Grondak

  • Mythos
  • ********
  • Beiträge: 9.220
  • Geschlecht: Männlich
  • Username: Thalamus Grondak
Re: Eine Datei in mehrere Verzeichnisse gleichzeitig verteilen?
« Antwort #1 am: 29.09.2007 | 15:23 »
Ich glaube nicht das das geht.
Ich glaube da musst du wohl ein script für stricken.
Even if you win the Rat race, you´re still a Rat

Ein

  • Gast
Re: Eine Datei in mehrere Verzeichnisse gleichzeitig verteilen?
« Antwort #2 am: 29.09.2007 | 15:30 »
Probier mal.
#!/bin/sh

for i in $*
  do
    if [ i != $1 ]
      then rcp $1 i
    fi
done
Müsste gehen, falls ich mich nicht verscriptet habe. Mein sh ist was eingerostet.
« Letzte Änderung: 29.09.2007 | 15:31 von Ein »

Offline Bitpicker

  • /dev/gamemaster
  • Famous Hero
  • ******
  • Beiträge: 3.506
  • Geschlecht: Männlich
  • Username: bitpicker
    • Nyboria - the dark side of role-playing
Re: Eine Datei in mehrere Verzeichnisse gleichzeitig verteilen?
« Antwort #3 am: 29.09.2007 | 16:26 »
Das hier klappt im Test bei mir:

#!/bin/bash
for i in $( find ./* -type d); do
cp $1 $i
done

Das Skript geht davon aus, dass die Datei bereits im aktuellen Verzeichnis vorliegt und in alle Unterverzeichnisse desselben kopiert werden soll.

Der find-Befehl findet alle Verzeichnisse unterhalb des aktuellen, die for-Schleife schreibt die Namen einzeln in die Variable i und der cp-Befehl verwendet das erste (und einzige) Argument des Befehls als Dateinamen. Wenn du dieses Skript als 'cp2sd' im Pfad speicherst (copy to subdirectories) und die zu kopierende Datei 'test' heißt, benutzt du also

cp2sd test

Robin
Wie heißt das Zauberwort? -- sudo

(Avatar von brunocb, http://tux.crystalxp.net/)

Gast

  • Gast
Re: Eine Datei in mehrere Verzeichnisse gleichzeitig verteilen?
« Antwort #4 am: 29.09.2007 | 16:36 »
Das hier klappt im Test bei mir:

#!/bin/bash
for i in $( find ./* -type d); do
cp $1 $i
done

Das Skript geht davon aus, dass die Datei bereits im aktuellen Verzeichnis vorliegt und in alle Unterverzeichnisse desselben kopiert werden soll.

Der find-Befehl findet alle Verzeichnisse unterhalb des aktuellen, die for-Schleife schreibt die Namen einzeln in die Variable i und der cp-Befehl verwendet das erste (und einzige) Argument des Befehls als Dateinamen. Wenn du dieses Skript als 'cp2sd' im Pfad speicherst (copy to subdirectories) und die zu kopierende Datei 'test' heißt, benutzt du also

cp2sd test

Robin


jau! funzt! sehr genial :d :d :d