이 두 추적 스크립트의 출력을 병합하는 방법

이 두 추적 스크립트의 출력을 병합하는 방법

2개의 스크립트가 있습니다.

track_temps.sh

while true
do
    echo -n "$(date +"%H:%M:%S"): "
    sensors | grep Tdie

    # Sleeping for X seconds
    sleep 1
done

track_mhz.sh

    while true
do
    # Printing the time and all temperatures to stdout
    echo -n "$(date +"%H:%M:%S"): "
    cat /proc/cpuinfo | grep "MH" | sort -r | head -1

    # Sleeping for X seconds
    sleep 1
done

track_temps.sh의 출력은 다음과 같습니다.

09:31:44: Tdie:         +69.1°C  (high = +70.0°C)
09:31:45: Tdie:         +69.1°C  (high = +70.0°C)
09:31:46: Tdie:         +69.1°C  (high = +70.0°C)

track_mhz.sh의 출력은 다음과 같습니다.

09:32:01: cpu MHz       : 4015.803
09:32:02: cpu MHz       : 4008.034
09:32:03: cpu MHz       : 4028.516

출력을 병합하여 다음과 같이 보이고 싶습니다.

09:31:44: Tdie:         +69.1°C  (high = +70.0°C) cpu MHz: 4015.803
09:31:45: Tdie:         +69.1°C  (high = +70.0°C) cpu MHz: 4008.034
09:31:46: Tdie:         +69.1°C  (high = +70.0°C) cpu MHz: 4028.516

더 나은 점은 다음과 같습니다.

답변1

나는 노력할 것이다

while true
do
    echo -n "$(date +"%H:%M:%S"): "
    echo -n "$(sensors | grep Tdie) "
    awk '$2 == "MHz" { if (c< $4) c=$4;} END {printf "cpu MHz %s\n",c}'  /proc/cpuinfo

    sleep 1
done 
  • 내 컴퓨터에서는 CPU 주파수가 998MHz에서 1200MHz로 변경되었는데 sort -r예상대로 실행될지 확신할 수 없습니다. (문자열 "900"은 문자열 "1200"보다 큽니다)

관련 정보