Al fine di rilevare le nuove periferiche USB, ho messo a punto questa serie di comandi BASH:
Codice: Seleziona tutto
A1=`dmesg|grep found|grep idVendor|tail -1`; echo $A1; A2=`echo "$A1" | awk '{ sub(", idProduct=",":"); print; }'`; A3=`echo "$A2" | awk '{ sub("=",","); print; }'`; A4=`echo "$A3" | awk '{ sub(":",","); print; }'`; A0=`echo $A4|awk -F'usb ' '{print $2}'`; B0=`echo $A0|awk -F',' '{print $1}'`; C0=`echo $A0|awk -F',' '{print $4}'`; lsusb -vd "$C0"|head -17; lsusb -tvv |grep $B0 -B2
Codice: Seleziona tutto
A2=`echo "$A1" | awk '{ sub(", idProduct=",":"); print; }'`; A3=`echo "$A2" | awk '{ sub("=",","); print; }'`; A4=`echo "$A3" | awk '{ sub(":",","); print; }'`; A0=`echo $A4|awk -F'usb ' '{print $2}'`
https://it.wikipedia.org/wiki/Awk
dovrebbe essere possibile passare la variabile $A1 ad AWK, far fare ad AWK il lavoro, ed infine far ritornare il risultato nella variabile $A0
Purtroppo, non ho capito come si fa.
Qualcuno è in grado di aiutarmi?
Ringrazio sin d'ora chi mi aiuterà.
-*-
edit
Io sono arrivato al punto di farla diventare così
Codice: Seleziona tutto
A1=`dmesg|grep found|grep idVendor|tail -1`; echo $A1; A4=`echo "$A1" | awk '{ sub(", idProduct=",":"); sub("=",","); sub(":",","); print; }'`; A0=`echo $A4|awk -F'usb ' '{print $2}'`; B0=`echo $A0|awk -F',' '{print $1}'`; C0=`echo $A0|awk -F',' '{print $4}'`; lsusb -vd "$C0"|head -17; lsusb -tvv |grep $B0 -B2