期間に対してのみ「稼働時間」を解析します。

期間に対してのみ「稼働時間」を解析します。

Macで「uptime」コマンドを実行すると、次の結果が表示されます。

19:52  up 14 mins, 2 users, load averages: 2.95 4.19 4.31

これは、システムが実行されている期間によって多少異なり、最初は数時間が追加され、その後は数日が追加されます。それで、最初の単語とスペース、そして「users」の前の4文字を削除したいと思います。

作る19:52 up 14 mins, 2 users, load averages: 2.95 4.19 4.31

これ:

up 14 min

または

8:03 up 52 days, 20:47, 3 users, load averages: 1.36 1.42 1.40

これ:

up 52 days, 20:47

または:

22:19 up 54 days, 1 min, 4 users, load averages: 2.08 2.06 2.27

これ:

up 54 days, 1 min

これまで私が得ることができる最も遠いのは、これを使用することです。uptime | cut -d " " -f2- | sed 's/users.*//'しかし、これはまだ "up"の前にスペースを提供し、文字列の末尾から4文字を削除する必要があります。誰かが私を教育できますか?

ベストアンサー1

私はこれを使用します(必要に応じて単位を含めるように調整できます)。

#!/usr/bin/awk -f

    BEGIN {
      while ("uptime" | getline)
        gsub(/,/,"")
        if (NF==10)
          print $3
        else if (NF==11)
          print $3,$4
        else if (NF==12)
          print $3,$4,$5
        else
          print $3,$4,$5,$6
      close("uptime")
    }

おすすめ記事