LINUX.ORG.RU

странности и парадоксы Ubuntu


0

1

Сабж. Жил-был скрипт, который выводил вырезку из Uptime мне на панель. Откуда не возьмись, после перезугрузки, он перестал работать. ЧТо это было? Вот сам скрипт.

uptime | sed -e 's/.* \(.* days,\)\? \(.*:..,\) .*/\1 \2/' -e's/,//g' -e 's/ days/ д,/' -e 's/ up //'

Ответ на: Не печат^Uworksforme от x3al
sage@rascal-desktop:~$ LANG=C uptime | sed -e 's/.* \(.* days,\)\? \(.*:..,\) .*/\1 \2/' -e's/,//g' -e 's/ days/ д,/' -e 's/ up //'
 20:31:0526 min  3 users  load average: 0.48 0.21 0.16
sage@rascal-desktop:~$ 

Это имел ввиду? если да, то нет.

rafister ()
Ответ на: комментарий от uzbl

Спасибо, блин, как сам не догадался, а можно как нибудь скрипт по-универсальнее сделать? Я просто в регулярных выражениях 0.

rafister ()
Ответ на: комментарий от anonymous

Хотя я предпочитаю брать аптайм из /proc/uptime

echo scale=2\;`cat /proc/uptime | cut -f1 -d' '`/3600 | bc -l
Например такая конструкция выводит аптайм в часах с двумя знаками после запятой.

anonymous ()
Ответ на: комментарий от rafister

Просто у меня аптайм несколько дней, видимо uptime ставит запятую после days...

 17:51:42 up 6 days,  1:45,  4 users,  load average: 1.08, 1.20, 1.10
Поэтому лучше сразу с /proc/uptime работать, как в моем примере выше.

anonymous ()

Скрипт заработал, как только от загрузки прошел 1 час. Всем спасибо.

rafister ()
Ответ на: комментарий от rafister

Они самые.
Вот еще нагугленное за пару минут, переделал под задачу.

echo | awk -v "t=`cat /proc/uptime`" '{printf "%dч:%dм:%dс",t/(60*60),t%(60*60)/60,t%60}'
146ч:0м:7с

anonymous ()
Ответ на: комментарий от rafister

>Тут только uptime и sed, как туда можно хоть что нибудь завуалировать?

Это же Unix-like, тут всё может быть :)

skyline ()
Ответ на: комментарий от firestarter

на лоре еще жива память об однострочнике на перле)))

boombick ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.