ヘッダーを含む列に行を挿入する

ヘッダーを含む列に行を挿入する

次のコマンドの出力を印刷して、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

これにより、単一サーバーで実行される所望の出力が生成されます。データを生成するために複数のサーバーでどのように実行するかについて言及していないため、必要に応じて少し変更する必要があるかもしれません。

関連情報