awk: send results to file named using bash variable -


i have bash variable log_filename stores name of log file. want launch iostat -xnmp , fields 9, 10 , 11 of every record of every iteration matching pattern stored in bash variable device. number of iterations stored in time bash var. trying is:

iostat -xnmp 5 $time | awk -v log=$log_filename "/$device/" '{print $9" "$10" "$11}' input >> $log 

and lots of variations environ , others...but still couldn't figure out wrong. getting syntax error of time. there no particular requirements yet, solution suitable.

my take on (one liners okay easier humans read separate lines):

iostat -xnmp  $time |  awk -v dev=$device  'index($0,dev)>0 {print $9,$10,$11}' >> $log 

you read stdin. index($0,dev)>0 used because think have 1 disk device in mind. index($0,dev)>0 can shortened index($0,dev) less clarity folks learning awk.


Comments

Popular posts from this blog

Delphi XE2 Indy10 udp client-server interchange using SendBuffer-ReceiveBuffer -

Qt ActiveX WMI QAxBase::dynamicCallHelper: ItemIndex(int): No such property in -

Enable autocomplete or intellisense in Atom editor for PHP -