Page 2 of 2
Re: HTML-Konverter
Posted: 28. Oct 2010, 21:37
by jpg153
Indeed, this produced a text file - unfortunately although it looks table like formatted, its separating columns by blanks, which are difficult to resolve into other placeholders...argh
Code: Select all
sed -e 's/<[^<>]*>//g; /^[ ]*$/d' test.html
Ehrlich gesagt habe ich den Eintrag im Forum schon nicht verstanden und ob ich dies eingebe oder die Sequenz aus dem Forum
Code: Select all
cat test.html | sed -e 's/<[^<>]*>//g; /^[ ]*$/d'
passieren tut eigentlich nix - ok, es rauschen Unmengen Zeichen/Zeilen über den Bildschirm, aber es bleibt nix Verwertbares übrig...
Vermutlich meinen die Jungs "einfach" Tags und nicht die komplexeren Ausgaben...
Ich habe es auch noch mit einem Tool unter WinXP versucht, aber das steigt bei der Größe auch aus...
Ich bastel jetzt mal mit Browser und Geany (Ersetzen) und erzeuge eine Meta-Formatierung mit Separatoren die
ich nachher wieder rauslösen kann, die aber die Struktur der Tabelle erhalten.
Danke an Euch!
Re: HTML-Konverter
Posted: 28. Oct 2010, 21:43
by thenktor
Probier:
Code: Select all
cat test.html | sed -e 's/<[^<>]*>//g; /^[ ]*$/d' > test.txt
Auf den ersten Blick würde ich sagen: das entfernt alle
HTML-Tags (also alles zwischen < und >).
Und wie dir vielleicht auffällt schreibt ein
> test.txt am Ende eines Befehls die Ausgaben in die Datei test.txt, statt sie im Terminal auszugeben.
Re: HTML-Konverter
Posted: 29. Oct 2010, 12:52
by damNageHack
jpg153 wrote:
Code: Select all
sed -e 's/<[^<>]*>//g; /^[ ]*$/d' test.html
Ehrlich gesagt habe ich den Eintrag im Forum schon nicht verstanden und ob ich dies eingebe oder die Sequenz aus dem Forum
Code: Select all
cat test.html | sed -e 's/<[^<>]*>//g; /^[ ]*$/d'
passieren tut eigentlich nix - ok, es rauschen Unmengen Zeichen/Zeilen über den Bildschirm, aber es bleibt nix Verwertbares übrig...
Vermutlich meinen die Jungs "einfach" Tags und nicht die komplexeren Ausgaben...
Deshalb habe ich gleich im ersten Post gefragt, was du da eigentlich genau vorhast
Du meintest zuerst genau das, nämlich die Tags entfernen und genau das macht die Zeile mit sed, thenktor hat es ja auch so verstanden. Von daher weiß wohl niemand so genau wie man dir helfen soll ...
jpg153 wrote:
Ich habe es auch noch mit einem Tool unter WinXP versucht, aber das steigt bei der Größe auch aus...
Wenn du bereits alles versucht hast, wieso fragst du dann noch?
Nächstes Mal solltest du dir vielleicht gleich am Anfang Gedanken machen, was du eigentlich willst, bevor um Hilfe zu schreien. Niemand kann durch das Forum hellsehen
Re: HTML-Konverter
Posted: 31. Oct 2010, 16:18
by jpg153
Nun,
tatsächlich werden die Tags entfernt, es bleiben jedoch alle non-breaking-spaces erhalten und die Spalten
sind nicht getrennt sondern nahtlos an den vorangegangenen Text angefügt.
Die nbsp wären somit kein Problem, bei mehrspaltigen Texten ist das Ergebnis allerdings suboptimal.
In der Tat fehlte mit die Ausgabe als > test.txt damit das Ergebnis erhalten wurde
Ich weiß schon was ich will und hab's ja auch beschrieben.
Nur liefert eben kein Tool das Ergebnis wie ich es optimal nutzen kann.
Am Ende erscheint mir der Weg über den Browser und Nachbearbeitung mit Geany o.ä. noch der beste Ansatz.
Leider eben auch nicht unaufwändig
Bei ganz einfachen Strukturen ist 'sed' sicherlich eine Alternative. Vielleicht gelingt es mir ja auch mit 'sed' die entfernten <...>-Ketten mit einem Trennsymbol zu ersetzen oder die <> stehen zu lassen und nur den Text dazwischen raus zu kegeln. ... Mal sehen ob ich das irgendwo finde, ansonsten muss ich nochmal nach "Hilfe schreien".
Re: HTML-Konverter
Posted: 31. Oct 2010, 20:45
by damNageHack
jpg153 wrote:
Bei ganz einfachen Strukturen ist 'sed' sicherlich eine Alternative. Vielleicht gelingt es mir ja auch mit 'sed' die entfernten <...>-Ketten mit einem Trennsymbol zu ersetzen oder die <> stehen zu lassen und nur den Text dazwischen raus zu kegeln. ... Mal sehen ob ich das irgendwo finde, ansonsten muss ich nochmal nach "Hilfe schreien".
Meinst du das?
Code: Select all
cat test.html | sed -e 's/<[^<>]*>/TRENNER/g; /^[ ]*$/d' > test.txt
Da wo TRENNER steht, einfach dein gewünschtes "Trennsymbol" anstelle dessen eintragen, eventuell gar nix - wie anfangs erst angenommen.
Oder wenn du dann <> als Trenner haben willst, eben das:
Code: Select all
cat test.html | sed -e 's/<[^<>]*>/<>/g; /^[ ]*$/d' > test.txt
Es geht also auch für die nicht ganz so einfachen Dinge. Man muss nur wissen, was man machen will (und wie).
Das zwischen s/ und dem nächsten / ist der
reguläre Ausdruck, der die zu suchende Zeichenfolge(n) angibt, danach kommt bis zum folgenden / was anstelle dessen stehen soll (Suchen und Ersetzen).
Das Ganze geht auch mit einem ordentlichen Editor, man muss dafür kein sed verwenden. Reguläre Ausdrücke folgen einer eigenen Sprache.
Re: HTML-Konverter
Posted: 1. Nov 2010, 13:09
by jpg153
Hallo,
ja, Danke, das war der fehlende Code-Schnippel!
Damit erzeugt sed tatsächlich eine recht saubere Text-Datei. Den Rest mache ich in Geany mit 'Ersetzen'.
Das funktioniert auch mit der danz dicken
HTML-Seite in Sekunden (auf einem alten 1GHz Einkern).