Help converting date-time value to decimal


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Help converting date-time value to decimal
# 1  
Old 12-31-2010
Help converting date-time value to decimal [solved]

Hi

I need help to do some calculation in script.
I have a monitor program (munin) that I would like to log uptime information from a server.

The script looks like this (not complete):
Code:
#!/bin/sh
# server_uptime

### Config Start
# Reads the server parameters using the HTTP port with correct username and password


user="root"
pass="password"
port="80"
server="192.168.1.20"

### Config End

url="http://$user:$pass@$server:$port"

case $1 in
   config)
        cat <<'EOM'
graph_title Server uptime
graph_vlabel days
graph_category System
uptime.label Server1

EOM
        exit 0;;
esac

echo -n "uptime.value "
echo `wget -q -O - "$url" | grep Uptime`

Output from this is a long line. Start of it is omitted. End looks always the same.
Code:
*** <BR><BR>Current time 10:27:14<BR>NodeID: d3432<BR>Uptime: 22d 18:10:37

I can get 22 (days) and 18(hours) out from this but I like to see the output like this
uptime.value 22.75

So I need to calculate 22+18/24 Days+Hour/24
I have tried different solution with printf, but can not get it to calculate.

Last edited by Jotne; 01-01-2011 at 12:16 PM.. Reason: Solved
# 2  
Old 12-31-2010
converting date-time value to decimal
Code:
echo "22d 18:10:37" |awk -F "[d :]" '{printf "%.2f", $1+($3*3600+$4*60+$5)/24/3600}'
22.76

These 2 Users Gave Thanks to rdcwayx For This Post:
# 3  
Old 12-31-2010
Thanks alot.
Happy new year.

---------- Post updated at 01:34 PM ---------- Previous update was at 12:20 PM ----------

I need some more help. (my skills with are not very good)
How do I get all lest of the string from "Uptime:" so it becomes like
22d 18:10:37
# 4  
Old 12-31-2010
Quote:
Originally Posted by Jotne
Thanks alot.
Happy new year.

---------- Post updated at 01:34 PM ---------- Previous update was at 12:20 PM ----------

I need some more help. (my skills with are not very good)
How do I get all lest of the string from "Uptime:" so it becomes like
22d 18:10:37
Code:
wget -q -O - "$url" | sed 's/.*>Uptime: //'

# 5  
Old 12-31-2010
Thanks for reply
echo "bla bla bla Uptime: 212d 18:10:37" | sed 's/.*>Uptime: //'
gives
bla bla bla Uptime: 212d 18:10:37
and not
212d 18:10:37
# 6  
Old 12-31-2010
There's a spurious > sign in the sed.

Code:
echo "bla bla bla Uptime: 212d 18:10:37" | sed 's/.*Uptime: //'
212d 18:10:37

# 7  
Old 12-31-2010
Should be:
Code:
echo "bla bla bla Uptime: 212d 18:10:37" | sed 's/.*Uptime: //'

instead of:
Code:
echo "bla bla bla Uptime: 212d 18:10:37" | sed 's/.*>Uptime: //'

if you dont have a ">" before Uptime.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Converting decimal to hex

How to convert decimal value to hex and than take 1st digits as variable sample data 84844294,5,6 51291736,2,3 84844294,5,6 51291736,2,3 i can use {printf "%x,%d\n",$1,$2} but than i want to filter base on 1st hex digit 1st recrd (1 Reply)
Discussion started by: before4
1 Replies

2. UNIX for Dummies Questions & Answers

Converting string date time to unix time in AWK

I'd like to convert a date string in the form of sun aug 19 09:03:10 EDT 2012, to unixtime timestamp using awk. I tried This is how each line of the file looks like, different date and time in this format Sun Aug 19 08:33:45 EDT 2012, user1(108.6.217.236) all: test on the 17th ... (2 Replies)
Discussion started by: bkkid
2 Replies

3. Shell Programming and Scripting

Converting date/time and generating offsets in bash script

Hi all, I need a script to do some date/time conversion. It should take as an input a particular time. It should then generates a series of offsets, in both hour:minute form and number of milliseconds elapsed. For 03:00, for example, it should give back 04:02:07 (3727000ms*) 05:04:14... (2 Replies)
Discussion started by: emdan
2 Replies

4. Shell Programming and Scripting

Converting string to negative decimal value

I need code for converting a string to a negative decimal value. For ex, i have the value in the form of a string (5489.95-) i need to convert it into decimal value (-5489.95) while getting output using printf command. i know how to get as a string a="5489.95-" printf "%10s"$a >>xyz.dat ... (5 Replies)
Discussion started by: angie1234
5 Replies

5. Programming

Converting a user inputted date to epoch time

Hi all , I need to know how to convert a time stamp entered by the user to be converted to GMT/UTC(epoch time) using mktime() and gmtime() for exapample the input will be put in the form ptm.tm_sec = 0; ptm.tm_min = 59; ptm.tm_hour = 11; ptm.tm_mday = 20;... (2 Replies)
Discussion started by: ada
2 Replies

6. Shell Programming and Scripting

Converting hex to ascii/decimal

I am writing a bash script to do some parsing on a log and I am running into a problem when it comes to converting only certain sections of the file from hex to ascii or hex to decimal. Data Example: The hex values after Hardware and SW Version I need to convert from Hex to ASCII and the... (16 Replies)
Discussion started by: Shiftkey
16 Replies

7. Shell Programming and Scripting

Converting decimal to integer

The shell mentioned below will show a warning if the page takes more than 6 seconds to load. The problem is that myduration variable is not an integer. How do I convert it to integer? myduration=$(curl http://192.168.50.1/mantisbt/view.php?id=1 -w %{time_total}) > /dev/null ; ] && echo... (3 Replies)
Discussion started by: shantanuo
3 Replies

8. Shell Programming and Scripting

converting decimal in other systems with bc

Hallo, how can I convert number systems with bc? I need to convert a decimal number to octal, dual or hex number... (2 Replies)
Discussion started by: wiseguy
2 Replies

9. Shell Programming and Scripting

Converting a decimal into integer

Hi all, I'm trying to convert a decimal number into an integer number; I'm doing this: n=`echo |awk '{ print "'"$mem"'"*10}'` where the variable mem is equal to 3.7 I'd like to obtain 37, but the expression above gives me 30. Help please!!!! thx a lot (4 Replies)
Discussion started by: idro
4 Replies

10. Shell Programming and Scripting

unix script for converting a decimal to binary

Could anybody please help me in writing a script in unix for converting a decimal number to binary number. (3 Replies)
Discussion started by: softy
3 Replies
Login or Register to Ask a Question