Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Ubuntu-Forum & Kubuntu-Forum | www.Ubuntu-Forum.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

  • »Phr3aK« ist der Autor dieses Themas

Beiträge: 24

Registrierungsdatum: 09.08.2006

  • Nachricht senden

1

13.08.2007, 10:06

Datei in alle Unterverzeichnisse kopieren

Folgendes Problem: Es geht um einen Webserver auf dem es erforderlich ist, dass unterhalb eines bestimmten Verzeichnisses (webroot), in jedem Unterverzeichnis eine Datei kopiert wird.

also:

../webroot/datei.sh

in

[i]../webroot/verzeichnis


../webroot/verzeichnis/unterverzeichnis1

../webroot/verzeichnis/unterverzeichnis2

../webroot/verzeichnis/unterverzeichnis1/unterunter1

../webroot/verzeichnis/unterverzeichnis1/unterunter2/...

mein Lösungsansatz ist:

for x in `ls -l|awk '/^d/{print $9}'`
do
cp datei.sh $x
done


Allerdings wird die Datei dann nur die ersten Unterverzeichnisse (1+2) kopiert, jedoch nicht in deren Unterverzeichnisse (Unterunter1+2).

Ziel ist es egal wieviele Verzeichnisebenen: Die Datei muss bis in letzte Ebene aller Unterverzeichnisse kopiert, damit auch wenn ein Verzeichnis neu angelegt wird, beim nächsten ausführen des Scriptes, das so eben erstellte Verzeichnis ein Kopie erhält.

  • »jg72zwo« ist männlich

Beiträge: 113

Registrierungsdatum: 09.08.2007

Derivat: Ubuntu

Architektur: 64-Bit PC

  • Nachricht senden

2

13.08.2007, 13:24

RE: Datei in alle Unterverzeichnisse kopieren

Hi,

versuche mal (ungetestet)

Quellcode

1
find . -type d | xargs -n 1 cp datei.sh
oder

Quellcode

1
for x in `find . -type d` ; do mv datei.sh $x ; done

Gruß,
Jürgen
"Der Versuch ist der erste Schritt zum Scheitern." (Homer Simpson)

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »jg72zwo« (13.08.2007, 13:30)


  • »Phr3aK« ist der Autor dieses Themas

Beiträge: 24

Registrierungsdatum: 09.08.2006

  • Nachricht senden

3

13.08.2007, 17:37

Quellcode

1
for x in `find ~/verzeichnis -type d` ; do cp datei.sh $x ; done

geht :)

  • »Joe.deluxe« ist männlich

Beiträge: 73

Registrierungsdatum: 09.12.2007

Architektur: 64-Bit PC

Andere Betriebssysteme: Arch64

  • Nachricht senden

4

29.12.2007, 14:42

wie stelle ich das an das der mir bei Leerzeichen keine neue Variable schreibt sondern diese einfach so nimmt als String???


Beispiel:

Quellcode

1
2
3
4
5
6
7
8
andy@tanja:~/Desktop$ for x in `find ~/test -type d` ; do echo $x;  done
/home/andy/test
/home/andy/test/But_Alive
/home/andy/test/But_Alive/KrawehlKrawehl_DemoTape
/home/andy/test/But_Alive/S.O.G.
/home/andy/test/But_Alive/Live_1994
/home/andy/test/But_Alive/Berlin
1997


der Ordner heißt eigentlich "Berlin 1997"
-Wir gingen den Weg bis er zuende war, dann drehten wir uns um und gingen zurück-

  • »jg72zwo« ist männlich

Beiträge: 113

Registrierungsdatum: 09.08.2007

Derivat: Ubuntu

Architektur: 64-Bit PC

  • Nachricht senden

5

30.12.2007, 21:17

Hallo,

versuche mal

Quellcode

1
find . -type d | while read x ; do echo "=> $x" ; done


Gruß,
Jürgen
"Der Versuch ist der erste Schritt zum Scheitern." (Homer Simpson)

  • »Joe.deluxe« ist männlich

Beiträge: 73

Registrierungsdatum: 09.12.2007

Architektur: 64-Bit PC

Andere Betriebssysteme: Arch64

  • Nachricht senden

6

03.01.2008, 00:52

Ich hab es jetzt gelöst indem ich eine temp Datei anlege und von dort aus wieder einlese. Ist bestimmt kein eleganter weg geht aber :)
-Wir gingen den Weg bis er zuende war, dann drehten wir uns um und gingen zurück-