헤더가 있는 열에 행 삽입

헤더가 있는 열에 행 삽입

다음 명령의 출력을 인쇄하여 Excel 워크시트에 입력해야 하는 스크립트를 작성 중입니다. 명령은 다음과 같습니다.

ifconfig -a |grep -i bond

출력은 다음과 같습니다

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

for 루프를 사용하여 여러 서버에서 이 명령을 실행해야 합니다. 그러나 다음 형식으로 Excel 워크시트를 가져와야 합니다.

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

답변1

이것은 bash 쉘에서 작동합니다. Excel로 쉽게 가져올 수 있는 CSV 출력을 제공합니다.

#!/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

그러면 단일 서버에서 실행되는 원하는 출력이 생성됩니다. 데이터를 생성하기 위해 여러 서버에서 어떻게 실행할 계획인지 언급하지 않았으므로 필요에 맞게 약간 변경해야 할 수도 있습니다.

관련 정보