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

Leerzeichen, Großbuchstaben, HTML Tags entfernen mittels SED

Textdatei manipulieren mittels sed

Zurück
Oben