redhatサーバーがあります-7.2
sarからの次の出力は、関連するすべての詳細を次のように出力します。
sar -p -d 1 1
07:16:35 PM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
07:16:36 PM sda 13.00 0.00 120.00 9.23 0.04 3.08 1.38 1.80
07:16:36 PM vg_livecd-lv_root 15.00 0.00 120.00 8.00 0.05 3.07 1.27 1.90
07:16:36 PM vg_livecd-lv_swap 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
07:16:36 PM vg_livecd-lv_home 0.00 0.00 0.00 0.00 0.00 0.00
各行の先頭にマシンのホスト名を追加したい
最初にホスト名を見つけました
hostname=` hostname `
echo $hostname
server_mng14
推測される結果
sar -p -d 1 1
server_mng14 07:16:35 PM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
server_mng14 07:16:36 PM sda 13.00 0.00 120.00 9.23 0.04 3.08 1.38 1.80
server_mng14 07:16:36 PM vg_livecd-lv_root 15.00 0.00 120.00 8.00 0.05 3.07 1.27 1.90
server_mng14 07:16:36 PM vg_livecd-lv_swap 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
server_mng14 07:16:36 PM vg_livecd-lv_home 0.00 0.00 0.00 0.00 0.00 0.00
後にパイプする必要があるもの-sar -p -d 1 1
各行の先頭のホスト名を取得するために?
あなたは走ることができます:
sar -p -d 1 1 | sed "s/^/$(hostname) /"
できるよ:
sar -p -d 1 1 | sed "s,^,$(hostname) ,"
空でない行だけにホスト名を付加したい場合:
sar -p -d 1 1 | sed -E "s,^(.+),$(hostname) \1,"
Awkバージョン:
sar -p -d 1 1 | awk -v HOSTNAME=$HOSTNAME '{print HOSTNAME " " $0}'
-vフラグを使用して、bash $ HOSTNAME変数を、awkがそのprintステートメントで参照できる変数に設定します。 $ 0を使用して、行全体を印刷します
またはsshで:
ssh user@remote "sar -p -d 1 1 | awk -v HOSTNAME=$HOSTNAME '{print HOSTNAME \" \" \$0}'"