Medien & Phantastik > Linux/Unix
Eine Datei in mehrere Verzeichnisse gleichzeitig verteilen?
(1/1)
Gast:
Wenn ich eine einzelne Datei per SSH auf alle Unterverzeichnisse eines Dateibaumes verteilen will:
geht das?
wie lautet die Sytax?
Thalamus Grondak:
Ich glaube nicht das das geht.
Ich glaube da musst du wohl ein script für stricken.
Ein:
Probier mal.
--- Code: ---#!/bin/sh
for i in $*
do
if [ i != $1 ]
then rcp $1 i
fi
done
--- Ende Code ---
Müsste gehen, falls ich mich nicht verscriptet habe. Mein sh ist was eingerostet.
Bitpicker:
Das hier klappt im Test bei mir:
--- Code: ---#!/bin/bash
for i in $( find ./* -type d); do
cp $1 $i
done
--- Ende Code ---
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
--- Code: ---cp2sd test
--- Ende Code ---
Robin
Gast:
--- Zitat von: Bitpicker am 29.09.2007 | 16:26 ---Das hier klappt im Test bei mir:
--- Code: ---#!/bin/bash
for i in $( find ./* -type d); do
cp $1 $i
done
--- Ende Code ---
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
--- Code: ---cp2sd test
--- Ende Code ---
Robin
--- Ende Zitat ---
jau! funzt! sehr genial :d :d :d
Navigation
[0] Themen-Index
Zur normalen Ansicht wechseln