2014-12-20 2 views
-3

Когда я набираю в uptime в терминале он дает мне что-то вроде этогоКак изменить команду uptime на shell?

16:44:17 up 7:50, load average: 0.31, 0.47, 0.54 

Я хочу сделать это, чтобы быть что-то вроде этого

Uptime: 7h 50m 
Load average: 0.31, 0.47, 0.54 

и сохранить его в uptime.txt

Как может Я делаю это? Прошу прощения за тупой вопрос, я все еще новичок в этом, и раньше я искал googled, но я не нашел ничего полезного.

+0

Вы, вероятно, получить downvotes, потому что вы не показали нам никакого кода самостоятельно. [SO] не является службой написания кода, это сообщество программистов. Даже будучи новичком, вы должны показать нам какой-то код, чтобы мы знали, что вы знаете, и можете заполнить недостающие бит. Их слишком много, этот вопрос слишком широк и на него нельзя ответить. ответы были бы очень долгими. – Palec

+1

Я этого не знал, я зарегистрировался только вчера. В следующий раз я попытаюсь придумать свои собственные коды, спасибо за хедз-ап. – Squidward

ответ

0

это некрасиво команда будет работать:

uptime | sed 's#[0-9][0-9]:[0-9][0-9]:[0-9][0-9]##g' | sed 's#:#h #g' | sed -E 's#, [^,]+users,#m#g' | sed 's/ days,/d/g'|sed 's/ up/Uptime:/g' | sed 's/load averageh/\nLoad average:/g' 
+0

Показаны 'Время, проведённое на сайте: 8h 42, Грузоподъемность: 1.68, 1.65, 1.45' Как добавить" m "в список" 42 "? минутное слово не отображается – Squidward

1

Вы можете использовать awk с uptime:

uptime | awk -F ' up | load average:' '{sub(/,.*$/, "", $2); 
      printf "Uptime: %s\nLoad average: %s\n", $2, $NF}' 
Uptime: 23 days 16:14 
Load average: 2.19, 1.91, 1.88