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