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.
[BASH] Frickler-Pipes
-
Andreas -
23. November 2015 um 11:34 -
Erledigt
Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
-
-
[BASH] Frickler-Pipes? Schau mal ob du hier fündig wirst!
-
Hallo zusammen,
bei der Suche nach was ganz anderem bin ich auf folgende Pipe gestoßen:
Diese Pipe liefert die Zeilen von dmesg, die entstehen, wenn eine SD-Karte als externes Medium eingelegt wird.
Und
verrät dann den Device-Namen z.B. [sdc]
Beste Grüße
Andreas
-
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:
Codepi@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
-
In meinen Augen benutzt man für sowas die UDEV Events, die man vom system bekommt. In Python nutzbar mit http://pyudev.readthedocs.io/en/latest/, aber grundsätzlich natürlich auch aus anderen Sprachen nutzbar.
-
Oder dmesg -T| grep '\[sd.\]' , oder oder ..
-
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
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!