[BASH] Frickler-Pipes

  • framp Für die Shell schreibt man sich dann einfach ein kleines C-Programm wenn man keines findet wo die Autoren sich Gedanken darüber gemacht haben, dass man die Ausgabe auch maschinell sicher verarbeiten kann. Es gibt ja vereinzelt Programme die von Haus aus, oder per Option, Ausgaben liefern die CSV-ähnlich sind, oder gar JSON, XML, oder irgend ein anderes standardisiertes, strukturiertes Format.

    “If a listener nods his head when you're explaining your program, wake him up.” — Alan J. Perlis

  • Hallo zusammen,


    bei der Suche nach was ganz anderem bin ich auf folgende Pipe gestoßen:


    Code
    dmesg | tail | awk '$3 == "sd" {print}'

    Diese Pipe liefert die Zeilen von dmesg, die entstehen, wenn eine SD-Karte als externes Medium eingelegt wird.


    Und


    Code
    dmesg | tail | awk '$3 == "sd" {print$4}'

    verrät dann den Device-Namen z.B. [sdc]



    Beste Grüße


    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    • Icon-Tutorials (IDE: Geany) - GPIO-Library - µController-Programmierung in Icon! - ser. Devices - kein Support per PM / Konversation

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • Diese Pipe liefert die Zeilen von dmesg, die entstehen, wenn eine SD-Karte als externes Medium eingelegt wird.

    Leider klappt das auf meinem Pi OS nicht wie erwartet. Warum?

    In meiner dmesg Ausgabe steht der Wert in $2, dann gehts so halbwegs:

    Ich hab mal fix mit journalctl nachgesehen. Auf die Schnelle sicher mehr als ausbaubar, aber für Mensch erst mal gut lesbar, finde ich:

    Code
    pi@raspberrypi:~ $ journalctl --since 'today' | egrep 'Mounted'
    Jan 27 08:28:59 raspberrypi udisksd[332]: Mounted /dev/sda1 at /media/pi/6977eb38-78bb-4f2f-8417-ce0279459232 on behalf of uid 1000
    Jan 27 08:55:33 raspberrypi udisksd[332]: Mounted /dev/sdb2 at /media/pi/rootfs on behalf of uid 1000
    Jan 27 08:55:33 raspberrypi udisksd[332]: Mounted /dev/sdb1 at /media/pi/boot on behalf of uid 1000
  • Diese Pipe liefert die Zeilen von dmesg, die entstehen, wenn eine SD-Karte als externes Medium eingelegt wird.

    Zeig mal wie Deine dmesg Message aussieht. Vielleicht kann man da auch was mit Regex machen :lol:

    Aber letztendlich stimme ich @__deets__ zu. Besser ein API benutzen als irgendwelche konfigurierbare Logausgaben.

    "Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect." Linus Benedict Torvalds, 28.9.2003


    Hast Du die Woche schon Deine Raspberry gesichert :?: Kein Backup - kein Mitleid :no_sad: . Nimm doch einfach raspiBackup ;)