質問: 「稼働時間」をその期間だけ解析します macで「uptime」コマンドを実行すると、次の出力が表示されます。19:52 up 14 mins, 2 users, load averages: 2.95 4.19 4.31 これは、システムの稼働時間に応じてわずかに変化し、時間と日が追加されます。したがって、最初の単語とスペース、および「ユーザー」の前の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文字を削除する必要があります。誰かが私を教育できますか?
回答: 私はこれを使用します(必要に応じてユニットを含めるように適合させます):#!/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") }