AWK Ergebins in Datei schreiben

  • @meigrafd


    Ich habe jetzt libdevice-serialport-perl und libproc-daemon-perl installiert.
    Dann habe ich dein Sript in die Datei script.pl eingefügt und mit nano script.pl > datei.txt umgewandelt.

    Das wird in die datei.txt Datei ausgegeben.
    Nach dem Umwandeln reagiert der Pi nicht mehr. Musste ihn rebooten.

  • Ähm irgendwas hast du arg missverstanden... :no_sad:

    Du solltest nix umwandeln - der letzte Codeblock ist eine umLeitung, keine umWandlung

    Es handelt sich um ein Perl script (script.pl) welches man ausführt und dessen Ausgabe kann man bei Bedarf umleiten, in deinem Fall in eine Textdatei...

    Also nochmal: Den Inhalt aus dem ersten Codeblock copy&pastest du in nano (nano script.pl), speicherst und beendest nano und versiehst das Script anschliesend mit ausführrechten (chmod +x script.pl). Anschliesend führst du es aus: ./script.pl
    Wenn das wie gewünscht funktioniert kannst du die Ausgabe des Scripts umLeiten: ./script.pl > datei.txt

  • framp


    Es wird wieder nur eine lehre .txt Datei erstellt.


    Versuche mal

    Code
    sudo stdbuf -o0 awk -F, '{ if ( $1=="$GPGGA" ) { print $3,$4,$5,$6  } }' /dev/ttyAMA0 > /home/pi/gpgga.txt

    . stdbuf schaltet das Buffering aus.

    Hier sind noch ein paar weitere Vorschläge wie man das Bufering bei awk ausschaltet (tail -f oder unbuffer benutzen von expect oder auch eine alternative awk Aufrufsyntax zu benutzen).

    :no_sad: ... Kein raspiBackup - kein Mitleid ... :no_sad:

    Mein Raspberry Garten

    3 * RPi2B, 2 * RPi3B, 2 * RPi4B, 1 * CM4, 1 * RPi5

    Edited once, last by framp (December 29, 2013 at 1:37 PM).

  • Hallo,
    erst mal vielen vielen Dank an alle die sich dieser Aufgabe angenommen haben.

    Ich konnte durch eure Antworten sehr viel lernen, musste aber feststellen das ich viel mehr lernen muss.

    @Meingrafd
    Dein Script hat funktioniert. Leider wird nicht nach GPGGA gefiltert. Es werden alle GPS Protokolle in die Datei geschrieben.

    thbeckmann

    Quote


    sudo awk -F, '{ if ( $1=="$GPGGA" ) { print $3,$4,$5,$6 } }' /dev/ttyAMA0 | tee /home/pi/gpgga.txt


    hat leider nicht funktioniert. Die Datei blieb lehr.


    Ich muss das nochmal durchdenken. Die kontinuierliche Ausgabe der GPS Daten in eine Datei ist doch zu viel. Die regelmäßige Abfrage und Protokollierung (Abfrage nach Zeit X, in Datei schreiben) macht mehr Sinn.

    thbeckmann
    hat doch geklappt. Sollte mal geduldiger werden ;)

    Edited once, last by Grabbbo (December 30, 2013 at 9:49 AM).

  • Hatte ich fast erwartet dass es mit tee auch nicht funktioniert (Siehe diesen Link). Leider kann ich nix testen da ich die HW nicht habe.
    Grabbbo: Hast Du Dir mal die von mir verlinkte Seite angesehen und die Moeglichkeiten durchgetestet? Es liegt definitiv am Buffering was man auschalten muss. Die Frage ist nur wie sage ich es meiner kleinen Pi :s

    :no_sad: ... Kein raspiBackup - kein Mitleid ... :no_sad:

    Mein Raspberry Garten

    3 * RPi2B, 2 * RPi3B, 2 * RPi4B, 1 * CM4, 1 * RPi5


  • @Meingrafd
    Dein Script hat funktioniert. Leider wird nicht nach GPGGA gefiltert. Es werden alle GPS Protokolle in die Datei geschrieben.

    Naja das Script funktioniert auf jedenfall da ich das selber seit über 2 Wochen 24/7 im Einsatz habe ;)

    Entweder man baut nativ in Perl ein das es nur Zeilen ausgeben soll die GPGGA enthalten, oder man regelt das beim ausführen:

    Code
    ./script.pl | grep GPGGA > /tmp/Datei.txt
  • Wie schon gesagt,
    vielen Dank an alle.
    Ich glaube das Thema AWK Ergebins in Datei schreiben hat sich erledigt. Werde es mal abschließen.

    Mein Gedanke geht jetzt ehr in die Richtung, die GPGGA GPS Daten einmal die Minute abzufragen und dann zu protokollieren. Wie ich das anstelle, weis ich noch nicht aber hier im Forum gibt es ja Gott sei Dank kompetente Auskunft. Findet man nicht in jedem Forum.

    Vielen Dank.
    Grabbbo

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!