これら2つのトレーススクリプトの出力をマージする方法

これら2つのトレーススクリプトの出力をマージする方法

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周波数が998 MHzから1200 MHzに変わりましたが、sort -r期待どおりに実行されるかどうかはわかりません。 (文字列「900」は文字列「1200」よりも大きい)

おすすめ記事