Suchen von Verzeichnissen und Inhalt kopieren

S

schmiddi99

Grünschnabel
Hallo zusammen,

sehr wahrscheinlich wird es für die meisten hier im Forum eine sehr einfache Aufgabe sein. Da ich nicht oft mit Unix zu tun habe, aber nun eine spezielle Funktion umzusetzen habe, bräuchte ich Rat:

Ich habe folgende Verzeichnisstruktur:

/usr/tistar/tmp/2002-03-13/ht_files/09df01fb0000/03ab0808.C
/usr/tistar/tmp/2002-03-13/ht_files/09e001fb0000/03ab0802.C
/usr/tistar/tmp/2002-03-13/ht_files/09e201fb0000/03ab0801.C
/usr/tistar/tmp/2002-03-14/ht_files/09df01fb0000/03ac0808.C
/usr/tistar/tmp/2002-03-14/ht_files/09e001fb0000/03ac0802.C
/usr/tistar/tmp/2002-03-14/ht_files/09e201fb0000/03ac0801.C

usw.

Jetzt möchte ich den Inhalt der Verzeichnisse 09df01fb0000 (in dem Beispiel oben sind das ja zwei Verzeichnisse, einmal vom 2002-03-13 und 2002-03-14) in ein anderes Verzeichnis kopieren (z.B. /usr/tistar/hist), sodass ich die beiden Dateien (03ab0808.C und 03AC0808.C) in einem Verzeichnis habe.

In diesem Beispiel handelt es sich bei 09df01fb0000 um eine Messstelle (z.B. Analogwert) in der Automatisierungsbranche die tageweise archiviert ist. Alle Tage möchte ich jetzt in ein Verzeichnis kopieren.
Wir haben hier ein etwas veraltetes System mit SCO Unix.


Für die Hilfe schonmal vielen Dank.


Grüße
Stefan
 
Hallo
In welcher Programmiersprache willst du das machen?

Per shell /mit bash würde ich sowas mit find in einer Schleife regeln.
Code:
for I in $(find /path -name "verzeichnisname" -maxdepth 4 -type d); do
       cp $I/* /zielverz;
done

Das ist nur ganz grob die Vorgehensweise via bash.
maxdepth musst du anpassen, jenach Tiefe wie weit gesucht werden soll.


Gruß Wolfgang
 
Zuletzt bearbeitet:
Hallo,

ich hatte vor eine kleine ausführbare Batch - Datei zu schreiben und somit das Suchen und kopieren zu automatisieren. Die Idee ist sehr gut. Ich muss nur schauen (habe leider das System im Moment nicht vor mir), ob die Syntax auch an dem SCO System so akzeptiert wird.

Grüße
Stefan
 
Hallo
Batch Dateien gibt es unter *nix nicht. Du meinst sicher ein Shellscript. ;)
Wenn du GNU-bash bzw GNU find verwendest, sollte sogar die Syntax hinhauen, wobei mein Vorschlag nicht vollständig bzw. anzupassen ist.
Du mussst schon vorher selbst dafür sorgen, dass der Startpfad und der aktuelle Pfad (PWD) passen.

Gruß Wolfgang
PS Kann ja nach shellscript verschoben werden.
 
Hallo,

super, alles klappt.
Ich habe es jetzt am System mit Kornshell umgesetzt. Allerdings bringt er bei dem Parameter -4 eine Fehlermeldung. Was bedeutet -4? Ich habe den Parameter weggelassen.
Es funktioniert so wie gewünscht.

Grüße
Stefan
 
Ich glaube die -4 bezeichnetet die Suchtiefe.
 
Hallo
Ja, das war auch noch ein Tippfehler drin, den ich gleich behoben habe.

-maxdepth 4 sucht nur vier Verzeichnisse tief. Das kannst du natürlich auch weglassen.

Gruß Wolfgang
 

Ähnliche Themen

Zeilenweise suchen, löschen und ersetzen / Inhalt einfügen

HP PSC 2175 - CUPS druckt nicht

nForce 410 auf Debian AMD64

Suse Linux 10 von HD Installieren Tut.

Durch das ganze Unix System bestimmte Dateiart suchen

Zurück
Oben