Facendo circolare un mio script su pc di conoscenti è emerso un bug dovuto al fatto di essermi basato sul mio GNU-awk: invece dove (quasi sempre) il collegamento simbolico awk punta a mawk lo script fallisce.
Per aiutarmi provate sul file allegato questo
Codice: Seleziona tutto
$ awk -F\" '/serial}=="\w*"/{print $2}' udevadm_info.txt
Vi chiedo: come deve essere fatta la regex /serial}=="\w*"/ per ottenere lo stesso risultato con qualsiasi awk? notate che qui i doppi apici non sono caratteri speciali ma caratteri da matchare e credo che il baco stia proprio intorno a questo.
N.B. avrei una soluzione funzionante sia con gawk che con mawk ma bisogna usare grep e una pipe
Codice: Seleziona tutto
$ grep -m1 "sd.: sd." udevadm_info.txt | awk -F": " '{print $2}'
575837314137323734393934