PDA

View Full Version : FTP GET / MGET / LS (DISK



cicero22
07-10-15, 14:43
Hallo zusammen,

auf einem FTP Server stehen hunderte kleiner TXT Dateien. In jeder Datei steht genau eine Zeile an der ich immenses Interesse habe ;-)

Ich suche einen Weg, wie ich am allerbesten mit einem Rutsch alle Sätze in eine Datei bekomme. Ich kann schon mit MGET ... alle Dateien herunterladen - aber die stehen dann jeweils in einer Datei bei mir... Wie gesagt ich möchte gerne quasi alle Sätze an eine Datei ANHÄNGEN.

Kennt hier jemand eine Möglichkeit?

Danke und beste Grüße
cicero22

Fuerchau
07-10-15, 15:05
Das geht dann per QSH:

qsh cmd('cd MyPath;cp *.txt MyDest.txt;')
Der CP hat die Angewohnheit, alle Dateien auf die Letzte anzuhängen.

Alernative (könnte etwas langsamer sein):
qsh cmd('cd MyPath;cat *.txt >MyDest.txt;')

cicero22
07-10-15, 15:14
Hi

Traue mich ja kaum zu fragen - aber ich habe mit qsh noch nie gearbeitet.
Wie komme ich mit qsh auf den FTP Server?
Danke

AG1965_2
07-10-15, 15:20
Direkt mit GET bzw. MGET geht das wohl nicht, egal, ob i-Client oder qsh-Client.
Es gibt "APPEND", das das, was Du willst, in umgekehrter Richtung macht, also eine lokale Datei an eine remote Datei anhängt.
Die Dateien zuerst zu holen, um sie dann in der Ferne zusammenzustoppeln, und dann in einem Stück nochmals zu holen, ist wohl nicht das Gelbe vom Ei.
Wenn Du sie mal alle lokal in einem Verzeichnis hast, gibt es garantiert irgendein *nix-Befehlchen, mit dem man die Dinger zusammenketten kann, wenn Du das Schreiben eines aufwändigeren Programms zum Zusammenkopieren vermeiden möchtest.
Mit
cat quellen* > alleszusammen habe ich Probleme gehabt, den Inhalt der neuen Datei zu lesen.
Mit
awk '{print > "alleszusammen"}' quellen* hat es aber funktioniert. Mit FTP kenne ich mich eigentlich ganz gut aus, aber *nix-Experte bin ich keiner, da gibt es sicher Berufenere.

Fuerchau
07-10-15, 16:13
QSH ist, wie mein Vorredner schon sagte, eine AS/400-Umgebung.
Du musst also tatsächlich erst alle Dateien mit MGET lesen und kannst sie dann zusammenführen.

Das Problem ist sicherlich, wenn die Dateien nur 1 Satz haben, dass ggf. das CRLF am Ende fehlt.
Somit ist die Bearbeitung dann problematisch, wenn die Satzlänge nicht überall gleich ist.
CP und CAT fügen da halt nichts ein.

Obige Lösung mit AWK (Wordprocessor) liest jede Datei zeilenweise und fügt am Ende immer CRLF an.

cicero22
08-10-15, 08:59
Hallo zusammen,

ok - nun habe ich es verstanden.
Das mit dem fehlenden CRLF ist natürlich genau so wie von Dir beschrieben ;-)

Danke für Eure Hilfe....