PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Dateien zusammenfügen mittels Putty und Editieren einzelner Zeilen in Zieldatei



foxx1
01.12.14, 00:05
Hallo zusammen,

ich bin nun zum ersten Mal mit Linux in Kontakt gekommen, und zwar einem Linux Server.
Auf diesem Linux Server liegen Klimaszenarien, also für verschiedene Klimaparameter jeweils eine Datei für den historischen Zeitraum und für den zukünftigen Zeitraum.

Mein erstes Ziel ist nun die jeweiligen Dateien für den historischen und zukünftigen Zeitraum zu einer zusammenzufügen. Ich weiß auch bereits dass dies mit dem cat-Befehl funktioniert. Allerdings hat jede dieser Ausgangsdateien einen Header, sodass in der Zieldatei dann zwei Header vorhanden sind. Ich möchte aber, dass der Header der zweiten Datei nicht mitgeschrieben wird. Ist dies irgendwie realisierbar?

Und eine zweite Frage: In den jeweiligen HEadern stimmt die Datumsangabe nicht. Ich möchte diese gerne Editieren. Was wäre die einfachste Lösung? Wahrscheinlich nur per Java Skript?

Ich weiß, dass ich das ganze auch mit Editoren wie xming lösen kann, aber die Dateien sind jeweils über 250MB groß und es dauert einfach höllisch lange bis die Dateien im xming geladen sind und es laggt/hängt auch öfters. Evtl gibt es da einen besseren Texteditor den ich mit Putty öffnen kann?

Im Voraus schon vielen Dank und beste Grüße
foxx1

ThorstenHirsch
01.12.14, 01:51
Bei so großen Dateien würde ich auch ohne Editor arbeiten. Strukturieren wir das mal ein bisschen:

1.) cat kennst du schon:

cat datei2.csv >> datei1.csv
-> Hängt den kompletten Inhalt von datei2.csv an datei1.csv an.

2.) Ähnlich funktionieren head...

head -10 datei2.csv >> datei1.csv
-> Hängt die ersten 10 Zeilen an (das willst du nicht).

...und tail:

tail -10 datei2.csv >> datei1.csv
-> Hängt die letzten 10 Zeilen an (das willst du auch nicht).

Aber in der Hilfe zu tail ("man tail") findest du weitere Parameter, die dir helfen:

tail -n +2 datei2.csv >> datei1.csv
-> Hängt alles ab der zweiten Zeile an datei1.csv an. Das willst du.

3.) Ähnliche Befehle gibt's auch um den Inhalt (das Datum) zu ändern. Meistens löst man das über eine regular expression. Aber wenn du was von "Java Skript" schreibst, fürchte ich, dass das aktuell noch eine Nummer zu groß für dich ist... oder willst du dich wirklich daran trauen? Vielleicht liest du dich erst mal auf Wikipedia ins Thema "regular expression" ein und schaust dir auf dem Server die Hilfeseite von sed an ("man sed"). Wenn du's dann immer noch umsetzen willst, dann melde dich nochmal (und bring ein konkretes Beispiel mit -> wie sieht die Datei mit falschem Datum aus und wie soll's richtig sein).