Liebe Community!
Ich gebe gleich zu, ich bin blutiger Anfänger im Scripting und AWK! Deshalb bitte ich um Nachsicht bei folgendem Problem! Beschreibung: Ich bin dabei mir ein Skript zu basteln, über welches ich diverse Informationen zusammen führe und optisch schön aufbereitet ausgeben will. Das mache ich im Moment per Ausleitung als HTML.
Nun habe ich ein Textfile(Beispiel.txt) das insgesamt aus 7 Zeilen besteht. Diese Zeilen bestehen aus Sätzen mit Informationen, die ich Zeile für Zeile und Spalte für Spalte verarbeiten will.
Beispiel:
Das ist Satz eins mit der zahl 50 und weiteren. Das ist Satz mit der 30 und weiteren. Das ist Satz drei mit 20 bis 30 Zahlen. Das ist Satz vier ....usw.
Nun hol ich mir in meinem Skript(Bash) per cut und awk die Info's und füge sie in die Tabelle ein, die dann wiederum auf dem html angezeigt wird. Das funktioniert eigentlich auch gar nicht so schlecht, allerdings komme ich einfach nicht auf die Lösung für mein folgendes Problem:
Ich möchte an einer Stelle eine zweizeilige Tabelle mit ebenfalls zwei Spalten. Ich kam schon drauf wie ich zwei Zeilen aus der Textdatei mittels awk separieren und übernehmen kann. allerdings erstellt mir awl immer automatisch zwei Tabellenzeilen, wohl weil ich ja auch zwei Zeilen aus der Textdatei übernommen habe. Nun möchte ich aber in der html Tabelle als Beispiel den Wert 50 in der ersten Tabellenzeile haben und aus der dritten Textzeile den Wert 30 und 20! Ich kann ja mit $8 die Spalte 8, also die 50, herausnehmen und verarbeiten. In der zweiten Zeile der html Tabelle fügt er mir aber auch die Daten von Zeile 1 der Textdatei ein. Da sollen aber die Daten aus der Textzeile 3 rein!
Wie spreche ich also über AWK die html tabelle so an, dass ich die Textdaten Zeile 1 in die Tabellenzeile 1 bekomme, und die Textdaten Zeile 3 in die Tabellenzeile 2?
Nochmal, bitte lacht euch nicht tot über meine Frage, aber egal wie viel ich auch schon gelesen habe zu AWK, ich bekomme es nicht hin. Mein Skript sind in dem Bereich im Moment so aus:
cat Beispiel.txt | awk ' NR == 1,NR==2 {print $0} ' | awk 'BEGIN{
print "<TABLE border=3>"
}
{
print "<TR>"
{
print "<td bgcolor=#00FFFF> Der Wert aus zeile 1 lautet </td>"
print "<td bgcolor=#00FFFF> "$8" </td>"
}
print "</TR>"
print "<TR>"
{
print "<td bgcolor=#00FFFF>Der Wert aus zeile 3 lautet</td>"
print "<td bgcolor=#00FFFF>"$"</td>"
}
print "</TR>"
}
END{
print "</TABLE>"
}' >>tester1.html