Rakten-X: Bitte um Hilfe zu AWK!

Beitrag lesen

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?

Erkenntnis:

Du willst in AWK eine CSV-Datei auswerten und dabei die Reihenfolge der ausgegebenen Zeilen verändern.

Frage:

Ist dieser Wunsch rein willkürlich oder folgt dieser einem Schema - soll zum Beispiel die Ausgabe sortiert erfolgen? Dann würde ich nämlich ganz anders vorgehen:

nl      - Nummeriert Zeilen des Inputs
sort    - sortiert
grep    - filtert Zeilen
cut     - schneidet Spalten aus und baut neu zusammen

sind hier Deine mächtigen und sehr schnellen Freunde.

Ein Hinweis:

<td bgcolor=#00FFFF>Der Wert aus zeile 3 lautet</td>"`

Du zeigst uns HTML aus dem vorigen Jahrtausend. Das ist inzwischen verpönt.

Noch ein Hinweis:

Das mit dem AWK zu HTML-Tabellen verwende ich zwar als Beispiel für die Nutzung des AWK - aber im realen Leben ist diese Idee eher „dritte Wahl“… Klüger ist es eine andere Programmiersprache zu verwenden - für diese Sache wären PHP ein Kandidat.

Zur Sache:

cat Beispiel.txt | awk ' NR == 1,NR==2 {print $0} ' | awk 'BEGIN{

(das funktioniert eh nicht!)

Du kannst den awk-Skript-Teil in einer eigenen Datei unterbringen, e.g, skript.awk.

Dann startest Du die Abarbeitung ganz einfach mit

awk -F ' ' -f skript.awk < Beispiel.txt

Allgmein zum AWK:

Der AWK unterscheidet 3 Abschnitte:

BEGIN {
    # Was hier steht wird ausgeführt, bevor der AWK die erste Zeile der Daten abarbeitet.
}

{
   # Was hier steht wird für jede Zeile der Datendatei ausgeführt.
}

END {
   # Was hier steht wird ausgeführt, nachdem der AWK alle Zeilen der Datendatei abgearbeitet hat.
}

RTFM

man 1 awk hilft Dir weiter, da stehen sogar Beispiele drin. Auch die oben genannten Befehle haben ein Manual:

man 1 befehl oder die Kurzhilfe mit befehl --help helfen Dir weiter.