textToHTML - Textdatei mittels sed in HTML umwandeln

G

gismo82

Jungspund
Hi...

ich habe folgendes Problem. Ich habe eine Textdatei mit folgendem Layout:

Code:
|xxxxxx|xxxxxx|xxxxx|
|xxxxxx|xxxxxx|xxxxx|
|xxxxxx|xxxxxx|xxxxx|
|xxxxxx|xxxxxx|xxxxx|

Als Output möchte ich eine HTML-Tabelle haben:
Code:
<table>
  <tr>
    <td>xxxxxx</td>
    <td>xxxxxx</td>
    <td>xxxxxx</td>
  </tr>
  <tr>
    <td>xxxxxx</td>
    <td>xxxxxx</td>
    <td>xxxxxx</td>
  </tr>
  <tr>
    <td>xxxxxx</td>
    <td>xxxxxx</td>
    <td>xxxxxx</td>
  </tr>
  <tr>
    <td>xxxxxx</td>
    <td>xxxxxx</td>
    <td>xxxxxx</td>
  </tr>

Zur Zeit habe ich es soweit bekommen, dass ich die Öffnenden und Schließenden <tr> angefügt habe. Nur mit den <td> Tags habe ich massive Probleme, denn ich weiß nicht wie ich herausfinde, ob es sich um ein Öffnendes <td> oder Schließendes </td> handelt.

Code:
cat test.txt | sed 's/^/\<tr\>/g' | sed 's/$/\<\/tr\>/g'

Kann mir jemand helfen?


Gruß Andreas
 
Abend,

bist doch schon aufm richtigen weg.

Im Grunde must du den ersten "|" nur durch "<tr>\n<td>" ersetzen, den letzten "|" durch "</td>\n</tr>".
Bei den mitleren sind wir einfach faul und ersetzen die durch "</td>\n<td>".

Code:
cat test.txt | sed 's/^|/\<tr\>\n\<td\>/g' | sed 's/|$/\<\/td\>\n\<\/tr\>/g' | sed 's/|/\<\/td\>\n\<td\>/g'

<tr>
<td>xxxxxx</td>
<td>xxxxxx</td>
<td>xxxxx</td>
</tr>
<tr>
<td>xxxxxx</td>
<td>xxxxxx</td>
<td>xxxxx</td>
</tr>
<tr>
<td>xxxxxx</td>
<td>xxxxxx</td>
<td>xxxxx</td>
</tr>
<tr>
<td>xxxxxx</td>
<td>xxxxxx</td>
<td>xxxxx</td>
</tr>

EDIT: evtl noch ein paar mit "\ " für die einrückungen an den gewünschten Stellen.

mfg
HeadCrash
 

Ähnliche Themen

sed in awk

Leerzeichen, Großbuchstaben, HTML Tags entfernen mittels SED

Onlineumfrage programmieren (mehrseitige HTML Formular an PHP übergeben)

Textdatei manipulieren mittels sed

Zurück
Oben