Linhas na coluna com cabeçalho

0

Estou trabalhando em um script onde preciso imprimir a saída do comando abaixo e obtê-lo em uma planilha de excel: O comando é:

ifconfig -a |grep -i bond

A saída é:

bond0   Link encap: Ethernet Hwwaddr: B1:B2:X1:X2:X3:X4
bond1   Link encap: Ethernet Hwwaddr: B1:B2:X1:X2:X4:X5

Esse comando precisa ser executado em vários servidores usando loop. No entanto, eu preciso trazer a planilha do excel no formato abaixo:

Server Name    Bond Name    Link Encap     Hwaddr
xxxxxx         bond0        Ethernet       B1:B2:X1:X2:X3:X4
xxxxxx         bond1        Ethernet       B1:B2:X1:X2:X4:X5
    
por Vikas Thakur 19.08.2016 / 21:02

1 resposta

0

Isso deve funcionar com o bash shell. Ele lhe dará saída CSV, que é facilmente importada para o Excel.

#!/bin/bash
printf 'Server Name,Bond Name,Link Encap,Hwaddr\n'

for line in "$(ifconfig -a|grep -i bond)"
do
  echo -n $(hostname),
  set $line
  echo $1,${3//encap:/},$5
done

Isso produzirá sua saída desejada em execução em um único servidor. Como você não menciona como planeja executá-lo em vários servidores para gerar os dados, talvez seja necessário alterar isso um pouco para atender às suas necessidades.

    
por 19.08.2016 / 22:38