Red Hat Server - 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
각 줄의 시작 부분에서 호스트 이름을 얻으려면 무엇을 파이프로 연결해야 합니까?
답변1
다음을 실행할 수 있습니다.
sar -p -d 1 1 | sed "s/^/$(hostname) /"
답변2
넌 할 수있어:
sar -p -d 1 1 | sed "s,^,$(hostname) ,"
비어 있지 않은 줄에만 호스트 이름을 추가하려는 경우:
sar -p -d 1 1 | sed -E "s,^(.+),$(hostname) \1,"
답변3
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}'"