X-Git-Url: https://git.xandkar.net/?a=blobdiff_plain;f=x2%2Fsrc%2Fawk%2Fexe%2Fparse_udevadm_monitor_block.awk;fp=x2%2Fsrc%2Fawk%2Fexe%2Fparse_udevadm_monitor_block.awk;h=6e6326e2e6a5d64d147a66b457c077c9663e23e5;hb=499c58a269a00e031302938b5a8f006f23aae451;hp=0000000000000000000000000000000000000000;hpb=4c703fadbdc17d1753d16841582636598f862416;p=khatus.git diff --git a/x2/src/awk/exe/parse_udevadm_monitor_block.awk b/x2/src/awk/exe/parse_udevadm_monitor_block.awk new file mode 100644 index 0000000..6e6326e --- /dev/null +++ b/x2/src/awk/exe/parse_udevadm_monitor_block.awk @@ -0,0 +1,38 @@ +BEGIN { + Re_Begin = "^UDEV + \[ *[0-9]+\.[0-9]+\] +" +} + +($0 ~ Re_Begin) { + handle_event($0) + next +} + +function handle_event(payload, payload_parts, event, + path, n_path_parts, + devname \ +) { + sub(Re_Begin, "", payload) + split(payload, payload_parts, " +") + event = payload_parts[1] + path = payload_parts[2] + if (event == "add" || event == "change") { + devname = devname_lookup(path) + } else { + n_path_parts = split(path, path_parts, "/") + devname = path_parts[n_path_parts] + } + print(event, devname) +} + +function devname_lookup(path, cmd, line_parts, devname) { + cmd = "udevadm info --path=" path + while (cmd | getline line) { + if (line ~ /^E: +DEVNAME/) { + split(line, line_parts, "=") + devname = line_parts[2] + break + } + } + close(cmd) + return devname +}