Need to trim the output to retain only the server name and IP addresses
by brh1 from LinuxQuestions.org on (#4PXB1)
Good day.
I'm looking for the most efficient method to clean up the following output:
Code:$ nova list |grep scas|awk '{printf "%s",$1; for (i=1;i<=NF;i++) { if ($i ~ /vm|TOAM[0..1]_net_0/) { printf " %s",$i; } } print "" }'
| ksc1bscas0001vm001 vUSP-23804-P-01-ksc1b_PVUSP-CORE-NSD-TOAM1_net_0=192.63.205.5
| ksc1bscas0001vm002 vUSP-23804-P-01-ksc1b_PVUSP-CORE-NSD-TOAM1_net_0=192.63.205.6
| ksc1bscas0001vm003 vUSP-23804-P-01-ksc1b_PVUSP-CORE-NSD-TOAM1_net_0=192.63.205.7
| ksc1bscas0001vm004 vUSP-23804-P-01-ksc1b_PVUSP-CORE-NSD-TOAM1_net_0=192.63.205.8
| ksc1bscas0001vm005 vUSP-23804-P-01-ksc1b_PVUSP-CORE-NSD-TOAM1_net_0=192.63.205.9
| ksc1bscas0001vm006 vUSP-23804-P-01-ksc1b_PVUSP-CORE-NSD-TOAM1_net_0=192.63.205.10
| ksc1bscas0001vm007 vUSP-23804-P-01-ksc1b_PVUSP-CORE-NSD-TOAM1_net_0=192.63.205.11
| ksc1bscas0001vm008 vUSP-23804-P-01-ksc1b_PVUSP-CORE-NSD-TOAM1_net_0=192.63.205.12
| ksc1bscas0001vm009 vUSP-23804-P-01-ksc1b_PVUSP-CORE-NSD-TOAM1_net_0=192.63.205.13;
| ksc1bscas0001vm010 vUSP-23804-P-01-ksc1b_PVUSP-CORE-NSD-TOAM1_net_0=192.63.205.14;
| ksc1bscas0001vm011 vUSP-23804-P-01-ksc1b_PVUSP-CORE-NSD-TOAM1_net_0=192.63.205.15
| ksc1bscas0001vm012 vUSP-23804-P-01-ksc1b_PVUSP-CORE-NSD-TOAM1_net_0=192.63.205.16
| ksc1bscas0001vm013 vUSP-23804-P-01-ksc1b_PVUSP-CORE-NSD-TOAM1_net_0=192.63.205.17
| ksc1bscas0001vm014 vUSP-23804-P-01-ksc1b_PVUSP-CORE-NSD-TOAM1_net_0=192.63.205.18
| ksc1bscas0001vm015 vUSP-23804-P-01-ksc1b_PVUSP-CORE-NSD-TOAM1_net_0=192.63.205.19
| ksc1bscas0001vm016 vUSP-23804-P-01-ksc1b_PVUSP-CORE-NSD-TOAM1_net_0=192.63.205.20
| ksc1bscas0001vm101 vUSP-23804-P-01-ksc1b_PVUSP-CORE-NSD-TOAM1_net_0=192.63.205.21; vUSP-23804-P-01-ksc1b_PVUSP-CORE-NSD-TOAM0_net_0=192.63.175.146;
| ksc1bscas0001vm102 vUSP-23804-P-01-ksc1b_PVUSP-CORE-NSD-TOAM1_net_0=192.63.205.22; vUSP-23804-P-01-ksc1b_PVUSP-CORE-NSD-TOAM0_net_0=192.63.175.147;
| ksc1bscas0001vm111 vUSP-23804-P-01-ksc1b_PVUSP-CORE-NSD-TOAM1_net_0=192.63.205.23
| ksc1bscas0001vm112 vUSP-23804-P-01-ksc1b_PVUSP-CORE-NSD-TOAM1_net_0=192.63.205.24
| ksc1bscas0001vm113 vUSP-23804-P-01-ksc1b_PVUSP-CORE-NSD-TOAM1_net_0=192.63.205.25to look like this:
Code:ksc1bscas0001vm001 192.63.205.5
ksc1bscas0001vm002 192.63.205.6
ksc1bscas0001vm003 192.63.205.7
ksc1bscas0001vm004 192.63.205.8
ksc1bscas0001vm005 192.63.205.9
ksc1bscas0001vm006 192.63.205.10
ksc1bscas0001vm007 192.63.205.11
ksc1bscas0001vm008 192.63.205.12
ksc1bscas0001vm009 192.63.205.13
ksc1bscas0001vm010 192.63.205.14
ksc1bscas0001vm011 192.63.205.15
ksc1bscas0001vm012 192.63.205.16
ksc1bscas0001vm013 192.63.205.17
ksc1bscas0001vm014 192.63.205.18
ksc1bscas0001vm015 192.63.205.19
ksc1bscas0001vm016 192.63.205.20
ksc1bscas0001vm101 192.63.205.21 192.63.175.146
ksc1bscas0001vm102 192.63.205.22 192.63.175.147
ksc1bscas0001vm111 192.63.205.23
ksc1bscas0001vm112 192.63.205.24
ksc1bscas0001vm113 192.63.205.25It seems easy but the "ksc1b" string could be anything.
Thanks in advance,
Bjoern


I'm looking for the most efficient method to clean up the following output:
Code:$ nova list |grep scas|awk '{printf "%s",$1; for (i=1;i<=NF;i++) { if ($i ~ /vm|TOAM[0..1]_net_0/) { printf " %s",$i; } } print "" }'
| ksc1bscas0001vm001 vUSP-23804-P-01-ksc1b_PVUSP-CORE-NSD-TOAM1_net_0=192.63.205.5
| ksc1bscas0001vm002 vUSP-23804-P-01-ksc1b_PVUSP-CORE-NSD-TOAM1_net_0=192.63.205.6
| ksc1bscas0001vm003 vUSP-23804-P-01-ksc1b_PVUSP-CORE-NSD-TOAM1_net_0=192.63.205.7
| ksc1bscas0001vm004 vUSP-23804-P-01-ksc1b_PVUSP-CORE-NSD-TOAM1_net_0=192.63.205.8
| ksc1bscas0001vm005 vUSP-23804-P-01-ksc1b_PVUSP-CORE-NSD-TOAM1_net_0=192.63.205.9
| ksc1bscas0001vm006 vUSP-23804-P-01-ksc1b_PVUSP-CORE-NSD-TOAM1_net_0=192.63.205.10
| ksc1bscas0001vm007 vUSP-23804-P-01-ksc1b_PVUSP-CORE-NSD-TOAM1_net_0=192.63.205.11
| ksc1bscas0001vm008 vUSP-23804-P-01-ksc1b_PVUSP-CORE-NSD-TOAM1_net_0=192.63.205.12
| ksc1bscas0001vm009 vUSP-23804-P-01-ksc1b_PVUSP-CORE-NSD-TOAM1_net_0=192.63.205.13;
| ksc1bscas0001vm010 vUSP-23804-P-01-ksc1b_PVUSP-CORE-NSD-TOAM1_net_0=192.63.205.14;
| ksc1bscas0001vm011 vUSP-23804-P-01-ksc1b_PVUSP-CORE-NSD-TOAM1_net_0=192.63.205.15
| ksc1bscas0001vm012 vUSP-23804-P-01-ksc1b_PVUSP-CORE-NSD-TOAM1_net_0=192.63.205.16
| ksc1bscas0001vm013 vUSP-23804-P-01-ksc1b_PVUSP-CORE-NSD-TOAM1_net_0=192.63.205.17
| ksc1bscas0001vm014 vUSP-23804-P-01-ksc1b_PVUSP-CORE-NSD-TOAM1_net_0=192.63.205.18
| ksc1bscas0001vm015 vUSP-23804-P-01-ksc1b_PVUSP-CORE-NSD-TOAM1_net_0=192.63.205.19
| ksc1bscas0001vm016 vUSP-23804-P-01-ksc1b_PVUSP-CORE-NSD-TOAM1_net_0=192.63.205.20
| ksc1bscas0001vm101 vUSP-23804-P-01-ksc1b_PVUSP-CORE-NSD-TOAM1_net_0=192.63.205.21; vUSP-23804-P-01-ksc1b_PVUSP-CORE-NSD-TOAM0_net_0=192.63.175.146;
| ksc1bscas0001vm102 vUSP-23804-P-01-ksc1b_PVUSP-CORE-NSD-TOAM1_net_0=192.63.205.22; vUSP-23804-P-01-ksc1b_PVUSP-CORE-NSD-TOAM0_net_0=192.63.175.147;
| ksc1bscas0001vm111 vUSP-23804-P-01-ksc1b_PVUSP-CORE-NSD-TOAM1_net_0=192.63.205.23
| ksc1bscas0001vm112 vUSP-23804-P-01-ksc1b_PVUSP-CORE-NSD-TOAM1_net_0=192.63.205.24
| ksc1bscas0001vm113 vUSP-23804-P-01-ksc1b_PVUSP-CORE-NSD-TOAM1_net_0=192.63.205.25to look like this:
Code:ksc1bscas0001vm001 192.63.205.5
ksc1bscas0001vm002 192.63.205.6
ksc1bscas0001vm003 192.63.205.7
ksc1bscas0001vm004 192.63.205.8
ksc1bscas0001vm005 192.63.205.9
ksc1bscas0001vm006 192.63.205.10
ksc1bscas0001vm007 192.63.205.11
ksc1bscas0001vm008 192.63.205.12
ksc1bscas0001vm009 192.63.205.13
ksc1bscas0001vm010 192.63.205.14
ksc1bscas0001vm011 192.63.205.15
ksc1bscas0001vm012 192.63.205.16
ksc1bscas0001vm013 192.63.205.17
ksc1bscas0001vm014 192.63.205.18
ksc1bscas0001vm015 192.63.205.19
ksc1bscas0001vm016 192.63.205.20
ksc1bscas0001vm101 192.63.205.21 192.63.175.146
ksc1bscas0001vm102 192.63.205.22 192.63.175.147
ksc1bscas0001vm111 192.63.205.23
ksc1bscas0001vm112 192.63.205.24
ksc1bscas0001vm113 192.63.205.25It seems easy but the "ksc1b" string could be anything.
Thanks in advance,
Bjoern