[BASH] Frickler-Pipes

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • 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.

    “Dawn, n.: The time when men of reason go to bed.” — Ambrose Bierce, “The Devil's Dictionary”

  • 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

    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?

    Spoiler anzeigen

    pi@raspberrypi:~ $ dmesg | tail | awk '$3 == "sd" {print}'

    pi@raspberrypi:~ $

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

    Spoiler anzeigen

    pi@raspberrypi:~ $ dmesg | tail | awk '$2 == "sd" {print}'

    [44928.806279] sd 1:0:0:0: Attached scsi generic sg1 type 0

    [44929.211483] sd 1:0:0:0: [sdb] 61497344 512-byte logical blocks: (31.5 GB/29.3 GiB)

    [44929.212503] sd 1:0:0:0: [sdb] Write Protect is off

    [44929.212522] sd 1:0:0:0: [sdb] Mode Sense: 23 00 00 00

    [44929.219902] sd 1:0:0:0: [sdb] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA

    [44929.274848] sd 1:0:0:0: [sdb] Attached SCSI removable disk

    pi@raspberrypi:~ $ dmesg | tail | awk '$2 == "sd" {print$4}'

    Attached

    [sdb]

    [sdb]

    [sdb]

    [sdb]

    [sdb]

    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.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!