Bash
如何在 Linux cli 命令開頭添加真實主機名
我們有 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,"