HTML Tabelle zeilenweise ausgeben

opino

opino

Tripel-As
Hallo,

ich beschäftige mich gerade mit awk sed & co.
Ich möchte eine Tabelle
<tr>
<td>
<ul>foo</ul>
<ul>bar</ul>
</td>
</td>

<tr>
<td>
<ul>bar</ul>
<ul>foo</ul>
</td>
</td>

in einer Zeile ausgeben.
Also so :
<HMLKRAM> foo bar </html>
<HMLKRAM> bar foo </html>

Das suchen und löschen der HTML Tags bekomme ich hin. Nur wie erkläre ich dem Computer wann eine Tabelle zuende ist und er eine neue Zeile in der Ausgabe starten soll? Die Tabellen haben alle die gleiche Zeilenanzahl das heist man könnte es über eine Schleife realisieren.

Frage: wie geben ich 5 Zeilen in einer Zeile aus, danach n mal die nächsten fünf zeilen wieder in einer zeile aus?


Gruß Opino
 
Wenn's nur darum geht, ein paar Zeilen zusammmenzubasteln: man paste ...
Code:
seq 1 20 | paste - - - - -
Gruss
 
Moin Moin

So kannst du eine Datei Zeilenweise einlesen:
while read var
do
echo $var #4var=aktuelle Zeile
done < datei

Dann kannst du mit sed die Zeile verarbeiten und den Inhalt z.Bsp. in eine Variable/Array schreiben und später die Variablen zusammen packen, immer dann wenn eine neue <tr> beginnt. Neue <tr> = neue Zeile in der Ausgabe.

Hilft dir das weiter?
 
Hilft dir das weiter?

Danke für deine Antwort, leider hilft es mir nicht ich bekomme das Script nicht zum laufen.
Den zu bearbeitenden Text enthält die Datei test. Eine Datei mit dem namen datei habe ich angelegt.
Die Datei in der das script enthalten ist heisst script.
Der Aufruf von ./script test bringt eine leeres File "datei".

Gruß
 
Da würde ich aufhären mit Shell und mich nach einer anderen Sprache umsehen. Perl z.B.
Könnte allerdings in awk gerade noch so hinhauen.. Bei <ul>sdfs</ul> das zwischen den uls ausgeben, bei <tr> eine Leerzeile erzeugen..
 
Hi opino

Sorry dass ich mich erst jetzt melde. Ich fasse mal zusammen:
Input Datei: test
Script: script
Aufruf mit: ./script test

Dann pack mal in script dass hier:
while read var
do
echo $var #$var=aktuelle Zeile
done < $1

Jetzt müsste eigentlich was passieren. Eine Datei mit dem Namen datei brauchst du nicht. Hinter "done <" muss einfach deine Input Datei stehen.

MFG
 
Zurück
Oben