Einfache String Manipulation, Anfänger

Hier dürfen auch unregistrierte Gäste posten.

Einfache String Manipulation, Anfänger

Beitragvon dospanes123 » Mo 24. Sep 2012, 14:31

Hallo Leute,

Ich bin ganz neu in dieser Materie und wollte fragen ob jemand eine Ahnung hat, wie ich eine einfache Textdatei über die Komandozeile bearbeiten kann.
Die Aufgabe besteht darin eine ziemliche lange Textdatei (etwa 40.000 Zeilen) so umzuformen, dass ich sie nachher in Excel laden kann um eine Tabelle zu erstellen.
Die Einträge kommen aus einem HTML Doc und liegen folgendermaßen vor:
<td>blabla1</td>
<td>blabla2</td>
<td>blabla3</td>
<td>blabla4</td>
<td>blabla5</td>
<td>blabla6</td>
<td>blabla1</td>
<td>blabla2</td>

Ich muss jetzt je sechs Zeilen in Spalten aufteilen (also bspw. per semikolon trennen und die <td> Einträge löschen), danach fängt wieder spalte eins an (also Trennung per Eingabe).
Ich habe mir folgende Seite schonmal ageschaut: http://www.dostips.com/DtTipsStringManipulation.php .
Allerdings bekomm ich das alleine nicht gepacken, da mir die Grundlagen fehlen.
Kann mir jemand weiterhelfen?
dospanes123
 

Re: Einfache String Manipulation, Anfänger

Beitragvon DOSferatu » Mo 24. Sep 2012, 17:35

Also ich könnte etwas dergestaltes programmieren.
Allein mit Batchprogrammierung kann ich mir nicht vorstellen, daß es geht.
Ich würde eben ein ausführbares Programm (*.EXE) bauen - wenn überhaupt gewünscht.
DOSferatu
DOS-Übermensch
 
Beiträge: 1095
Registriert: Di 25. Sep 2007, 11:05

Re: Einfache String Manipulation, Anfänger

Beitragvon Dospanes123 » Di 25. Sep 2012, 09:23

Das Programm würdest du mit C schreiben?
Ich habe leider mit C noch gar nichts gemacht. Nur ein bisschen Html und Java.
Wie schätzt du das vom Schwierigkeitsgrad ein? Kann ich mir das Nebenbei ein bisschen beibringen, damit das Ding so in ein bis zwei Wochen steht? Oder muss man da erstamal viele Grundlagen lernen? Muss ja auch nicht besonders hübsch sein sondern eher Mittel zum Zweck ;)
Dospanes123
 

Re: Einfache String Manipulation, Anfänger

Beitragvon Dosenware » Di 25. Sep 2012, 11:11

Der Schwierigkeitsgrad ist hier eher niedrig.

In Pascal reicht eine Kombination von repeat,readln,pos,Strdelete,pos,Strdelete,strinsert,writeln,until im Grunde genommen aus um das zu realisieren und in C gibt es sicher entsprechende Gegenstücke.

Im Fortgeschrittenen Modus kommt noch eine Längenüberprüfung hinzu - für den Fall dass die Zeilen länger sind als unsere Stringvariable.
Benutzeravatar
Dosenware
DOS-Gott
 
Beiträge: 3527
Registriert: Mi 24. Mai 2006, 19:29

Re: Einfache String Manipulation, Anfänger

Beitragvon DOSferatu » Di 25. Sep 2012, 17:42

Ich würde es in Pascal schreiben - weil ich sowieso alles in Pascal schreibe. War ja nur ein Angebot.
DOSferatu
DOS-Übermensch
 
Beiträge: 1095
Registriert: Di 25. Sep 2007, 11:05

Re: Einfache String Manipulation, Anfänger

Beitragvon Dospanes123 » Di 25. Sep 2012, 19:21

Hallo Dosferatu,


Also wenn du mir helfen kannst das in PAscal zu machen fände ich das total super. Ich habe nicht verstanden, dass es ein Angebot war...also wirklich, wäre cool.
Dospanes123
 

Re: Einfache String Manipulation, Anfänger

Beitragvon DOSferatu » Mi 26. Sep 2012, 18:17

Also, @Dospanes123 und alles, die es sonst interessiert:
(ich war mal so frei, da kurz was zu basteln)
http://www.imperial-games.de/html/dosa4.htm

Dort "XML2CSV" auswählen, runterladen und entpacken. Kurze Anleitung liegt bei.
DOSferatu
DOS-Übermensch
 
Beiträge: 1095
Registriert: Di 25. Sep 2007, 11:05

Re: Einfache String Manipulation, Anfänger

Beitragvon Dospanes123 » Mi 26. Sep 2012, 22:28

Super geil! Ich werd das am Sonntag mal auschecken und dann Bericht erstatten. Vorher bin ich leider nur an meinem 64 bit PC und da wollt er nicht. aber sonntag zieh ichs auf meinen alten Rechner!!! :-)
Dospanes123
 

Re: Einfache String Manipulation, Anfänger

Beitragvon DOSferatu » Do 27. Sep 2012, 22:23

Dospanes123 hat geschrieben:Vorher bin ich leider nur an meinem 64 bit PC und da wollt er nicht.

Ja, 16bit ("Real Address Mode") Software läuft leider nicht im 64bit CPU Mode. (Tut mir leid, bin halt 'n altmodischer Lamer.)
DOSferatu
DOS-Übermensch
 
Beiträge: 1095
Registriert: Di 25. Sep 2007, 11:05

Re: Einfache String Manipulation, Anfänger

Beitragvon Dospanes123 » So 30. Sep 2012, 13:25

Hallo Dosferatu,

Ich habe das Tool gerade versucht zu öffnen aber leider geht das nicht. Es erscheint ein kurzes schwarzes Fenster und dann kommt nichts mehr. Hast du eine Ahnung woran das liegen könnte?
Dospanes123
 

Re: Einfache String Manipulation, Anfänger

Beitragvon DOSferatu » So 30. Sep 2012, 13:38

Du öffnest es unter Windows, oder?
Naja, wenn das Programm einen Fehler entdeckt (z.B. an den Parametern oder weil es ein File nicht findet), gibt es eine Fehlermeldung aus und beendet sich.
Wenn man unter Windows das "DOS-Fenster" so eingestellt hat, daß es nach Beenden schließt, sieht man diese Fehlermeldung nicht mehr.
Ich habe mir auf den Desktop eine Verknüpfung getan, die
C:\WINDOWS\system32\cmd.exe
startet.
Das ist dieses "DOS", was Windows da mitbringt. Da startet dann einfach das Fenster und man kann den Kram händisch eingeben.
Eine andere Variante wäre, es mit einen BATCH-File zu starten, das als erste Zeile den Aufruf enthält und als zweite Zeile den Befehl PAUSE
Dann wartet er nach der Abarbeitung auf einen Tastendruck.
Leider kann ich aus "Fenster schließt sich" nicht mehr Informationen herausbekommen.
Es könnte auch sein, daß es gar kein Fehler war, sondern funktioniert hat (in diesem Fall läge im selben Verzeichnis das erstellte Ziel-File (also das CSV, was er erstellen soll).
Falls Du das ganze DIng mit einer Verknüpfung startest, deaktiviere dort mal das Feld "Bei Beenden schließen".
DOSferatu
DOS-Übermensch
 
Beiträge: 1095
Registriert: Di 25. Sep 2007, 11:05

Re: Einfache String Manipulation, Anfänger

Beitragvon Dospanes123 » Mo 1. Okt 2012, 07:31

ok. Fehlermeldung ist Missing Source File...Ich habe die zu konvertierende html Datei einfach mit in den gleichen ordner gelegt...
Dospanes123
 

Re: Einfache String Manipulation, Anfänger

Beitragvon DOSferatu » Mo 1. Okt 2012, 16:57

Das Programm kann ja nicht einfach "alles, was irgendwo rumliegt" konvertieren. Man gibt es als Kommandozeilenparameter an.
Wenn man keine Eingabezeile besitzt (Windows), kann man auch einfach das zu konvertierende File nehmen, auf die EXE (also XML2CSV) ziehen und fallenlassen, dann wird es als Kommandozeilenoparameter übernimmen (geht natürlich nur mit Files).
Außer dem File wären als Parameter auch noch möglich: Das Zielfile und die Anzahl Spalten.
Es ist aber per Default im Moment so eingestellt, daß das Zielfile genauso heißtwie das Quellfile, wenn keins angegeben wird, mit der Erweiterung .CSV
Der Anzahl Spalten sind auf 6 eingestellt, entsprechend Deiner Aufgabe.
So wie ich das verstehe, hast Du noch nicht mit Kommandozeilentools gearbeitet, oder?
Ich fand es für so eine simple Funktion jetzt nicht nötig, das Programm mit einer Benutzeroberfläche auszustatten. War so etwas eventuell gewünscht?
DOSferatu
DOS-Übermensch
 
Beiträge: 1095
Registriert: Di 25. Sep 2007, 11:05

Re: Einfache String Manipulation, Anfänger

Beitragvon Dospanes123 » Mo 1. Okt 2012, 20:33

ja wie gesagt, ich wollte das ja mit der kommandozeile machen, habe aber bisher noch wenig Erfahrung damit allgemein. ich wusste auch nicht, dass man da was schreiben muss, dachte es gäbe evtl. schon Commands, die man anwenden kann.
Daher hätte jetzt auch nicht gewusst wie ich die Parameter deines Progs ändern kann über die Kommandozeile. Vielleicht kannst du es ja noch posten. es wäre interessant! Ansonsten hat es jetzt geklappt!!! Sehr sehr cool! Vielen Dank!!!! Steht alles schön sauber in einer CSV. Es ist echt sehr sehr nett von dir und beindruckend, dass du das mal so schnell aus dem Hut gezaubert hast. Respekt! :)
Dospanes123
 

Re: Einfache String Manipulation, Anfänger

Beitragvon Dospanes123 » Mo 1. Okt 2012, 22:30

Hi Dosferatu,

Jetzt hab ich die Ergebnisse überprüft und mir ist aufgefallen, dass das Programm leider noch nicht ganz reibungsfrei konvertiert hat. Es bricht leider immer vor dem Fertigstellen aller Einträge ab.
Es schließt sich dann auch nicht von alleine und wenn ich es versuche zu schließen, dann hängt es sich auf (egal wie lange ich warte). Die CSV schreibt es trotzdem und sie ist auch in Excel einlesbar. Nur fehlen wie gesagt einige Einträge am Ende. Wieviele Einträge fehlen ist von mal zu mal unterschiedlich, auch wenn ich die gleiche Daten mehrmals konvertiere.
Evtl. läuft es sauberer wenn ich es über die cmd Zeile starte?
Kannst du mir die Befehle durchgeben? Dann würd ichs nochmal so probieren.
Dospanes123
 

Nächste

Zurück zu Gästeforum

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast