Hallo libe Experten,
ich habe eine Text-Datei mit folgendem Inhalt:
28.06.06 09:28:00 0.0 337.0 24.8 41.9 36.4 0.0 0.0
die sind Datum,uhrzeit und Messwerten. Die sind alle tabulatorisch gettrent.Mein Problem sieht so aus:
Wie kann ich spalten lösche die ich nicht brauche in diesem Fall sind es ab Spalte 7 ? Mit welchem Programmiersprache währe am besten und einfachsten? evtl. wäre es auch schön wenn quell code dabei ist. Bin nicht der Prog.experte:wink:
Danke
Hi Leibnitz,
Spalten löschen setzt voraus, dass Spalten vorhanden sind. Im textfile gibt es keine Spalten, sondern nur Zeichen. Du könntest aber Excel verwenden: textfile einlesen, Spalte entfernen, als neuen textfile speichern.
Gruß Ralf
Hallo leibnitz
ich habe eine Text-Datei mit folgendem Inhalt:
28.06.06 09:28:00 0.0 337.0 24.8 41.9 36.4 0.0 0.0die sind Datum, uhrzeit und Messwerten. Die sind alle
tabulatorisch gettrent. Mein Problem sieht so aus:
Wie kann ich spalten lösche die ich nicht brauche in diesem
Fall sind es ab Spalte 7 ? Mit welchem Programmiersprache
währe am besten und einfachsten? evtl. wäre es auch schön wenn
quell code dabei ist. Bin nicht der Prog.experte:wink:
Es stimmt zwar, dass Spalten nicht direkt
ansprechbar sind, aber man kann das durch
Programmierung umschiffen.
Geht mit Gloria Pe a rl (dafür speziell gemacht).
Unter Windows -(DOS-Fenster will „“ haben):
C:\Temp\> perl -nle "print join \"\t\", (split)[0..6]" daten.txt
Unter Unix (einfacher):
$\> perl -nle 'print join "\t",(split)[0,2,4,5]' daten.txt
Die Werte in Klammern [0…6] bzw. [0,3,5,6]
sagen, welche Spalten genommen werden sollen
(Zählung beginnt bei Null).
Bei Unix ist Perl schon dabei, für Windows
kannst Du es hier runterladen:
http://downloads.activestate.com/ActivePerl/Windows/…
Danach ein Dos-Fenster in dem Verzeichnis,
wo die Daten liegen, aufmachen und obigen
Befehl (richtig) eingeben.
Grüße
CMБ
Hallo leibnitz
ich habe eine Text-Datei mit folgendem Inhalt:
28.06.06 09:28:00 0.0 337.0 24.8 41.9 36.4 0.0 0.0
Ich hab noch mal drüber nachgedacht, mit
$\> perl -pi.bak -lane "s/.\*/join qq{\t},@F[0..6]/e" daten.dat
… schreibt man die ersten 7 Spalten [0…6] in ein
File, das so heisst, wie das Original, welches
jedoch vorher als .bak gesichert wird.
Das dürfte sowohl unter Win als auch unter
Unix/Linux gehen. Unter Unix kann man sogar
mit: perl … … *.dat
alle Dateien im Verzeichnis
auf einen Schlag umwandeln.
Grüße
CMБ
Hallo,
brauchst Du das einmalig oder immer wiederkehrend. Für einen einmaligen Einsatz würde ich nicht programmieren, sondern entweder Excel oder einen Texteditor nutzen, der mit Spalten umgehen kann. In DOS-Zeiten habe ich für solche Anforderungen z.B. immer Q-Edit genutzt. Da kannst Du in Spalten wie in Zeilen markieren und schon ist die unnütze Spalte weg.
Gruß vom Wiz
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]