Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Linux-Einsteiger
#11
huch, und das funktioniert?

Was soll das genau tun?

ich schau später mal genauer rein.
Zitieren
#12
re,

so, das sh-File sollte eigentlich tun. Sag bitte bescheid wenn irgendetwas noch nicht funktioniert.

Den Sinn von den *.* in der Win-Batch hab ich noch nicht ganz kapiert. Kannst Du mir da auf die Sprünge helfen?
Zitieren
#13
*.* sind Joker. Windows kopiert alle Dateien unter Beibehaltung der Dateinamen.

Das macht das kopieren von Dateien unter Windows/Dos so leicht.

'copy *.pak [Ziel]' kopiert alle .pak-Dateien eines Verzeichnisses unter Beibehaltung des Namens. Egal wie viele davon vorhanden sind und was sonnst alles für Dateien im Verzeichnis gespeichert sind.

Linux/Unix verlangt hingegen jeden Quell- und Ziel-Dateinamen. Was für umfangreiche Kopieraktionen sehr hinterlich ist, da bei jeder Änderung (neue Datei, weggefallene Datei, geänderter Dateiname) das Script angepasst werden muss.

Das german_spezial besteht aus 652 Dateien, die zusammenkopiert werden. Das heist, unter Linux sind 652 Kopierzeilen nötig.

Bei Windows sind es 28 Kopierzeilen. Eine je Ordner.

Der Befehl

copy good.Buecher.pak catg_01\*.*

speichert die Datei good.Buecher.pak im Ordner catg_01 mit gleichem Namen.
Zitieren
#14
you leave me pussled...

catg_01 ist ein Verzeichnis, ok,
good.Buecher.pak ist eine Datei oder ein Verzeichnis???

Und wo soll hinkopiert werden? Nach catg_01 oder in irgendwelche Unterverzeichnisse von catg_01 ???
Zitieren
#15
Zitat:Der Befehl

copy good.Buecher.pak catg_01\*.*

speichert die Datei good.Buecher.pak im Ordner catg_01 mit gleichem Namen.
aber dafür genügt im DOS auch
copy good.Buecher.pak catg_01

und das kannst Du bedenkenlos auch unter Unix machen.

Nur wie kommst Du auf diese grosse Zahl von Kopiervorgängen?
Man kann auch unter Unix das automatisch regeln, nur um sowas zu bauen muß ich erstmal wissen was denn wohin kopiert werden soll.
Zitieren
#16
Naja .. unter Unix werden die Wildcards *,? etc. von der Shell aufgelöst ...

Du kannst also auch dort ein *.bak eingeben!

Wegen der Maximalen Kommandogröße ist es aber meistens besser ein find zu verwenden.

cp *.bak /pak bedeutet bei 3 Dateien, das folgender Aufruf getätigt wird (aüflösung durch die Shell)
cp dat1.bak dat2.pak dat3.pal /pak
-> dat1.pak, dat2.pak dat3.pak werden nach /pak kopiert

Bei 600 Dateien kannst Du Dir die kommandozeilenlänge bei cp *.bak /pak denken ....
Rechtschreibfehler sind gewollt und unterliegen dem Copyright des Verfassers, es sei denn, sie sind expliziet unter die GPL gestellt ....

Für "Simutrans-Nightlys" und aktuelle PAK: http://nightly.simutrans-germany.com
Zitieren
#17
Zitat:von hellmade
aber dafür genügt im DOS auch
copy good.Buecher.pak catg_01

Da ich als Ziel 'catg_01\' hatte und es da nicht funktionierte, aber mit 'catg_01\*.*' funktionierte, bin ich halt dabei geblieben. Dos-Pfadangeben und die Befehle sind halt schon eine Weile her.

@wernimann
Ich hab die Informationen gefunden.
http://linuxfaq.de/f/cache/28.html

Nur hab ichs nicht richtig eingepackt. Kann sein, dass ich ein wenig Begriffsstutzig oder einfach nur blöd bin.

Die 600 Dateien sind ja auf die 28 Verzeichnisse aufgeteilt.

Linux muss erst mal warten, bis das Wiki wieder richtig geht.
Zitieren
#18
Sonst sage mir was Du mit dem Script willst und ich programmiere es Dir ..

Mein Job ist u.a. Unix-Shellprogrammierung (wie bei jedem Sys-Admin)
Rechtschreibfehler sind gewollt und unterliegen dem Copyright des Verfassers, es sei denn, sie sind expliziet unter die GPL gestellt ....

Für "Simutrans-Nightlys" und aktuelle PAK: http://nightly.simutrans-germany.com
Zitieren
#19
so, dieses Script macht wahrscheinlich was Du möchtest.

Aber da sind keine 600 Kopierbefehle drin *wunder*

Die Umleitung beim makeobj funktioniert bei mir aus unerfindlichen Gründen nicht. Da muß mal 'nen kernelprofi ran um dieses Rätsel zu lösen.

Ansonsten kopiert das Script so wie Du wolltest.


Angehängte Dateien
.zip   create.zip (Größe: 396 Bytes / Downloads: 610)
Zitieren
#20
makeobj schreibt nach stderr. Umleitung ist "makeobj pak 2>err.txt" zumindest unter DOS/Wind und meinem Debian ...
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste