How to split numeric value into hours:minutes:seconds


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to split numeric value into hours:minutes:seconds
# 1  
Old 02-18-2011
How to split numeric value into hours:minutes:seconds

I have a problem. I am working on a Call Detail Report system. Come to find out the phone switch does not report in seconds. It is a 5 digit field that reports h:mm:ss

The problem is I have 1-5 digit numbers
Ie 1 = 1 second and should be reported as 0:00:01
22 should be 0:00:22
321 should be 0:03:21
1334 should be 0:13:34
and 14322 should be reported as 1:43:22

Can anyone help me here? I appreciate it.
# 2  
Old 02-19-2011
Hi,

Can you use 'perl'? Test this script. The last number is your input parameter (14322 in my example).
Code:
$ perl -Minteger -e '$a=$ARGV[0]; while ($a > 100) { push @time, $a % 100; $a /= 100; }; push @time, $a; push @time, "0" while @time < 3; printf "%01d:%02d:%02d\n", reverse @time;' 14322

Regards,
Birei
This User Gave Thanks to birei For This Post:
# 3  
Old 02-19-2011
Code:
$ echo 14322 |awk '{$0=sprintf ("%06d",$0);print $1$2,$3$4,$5$6}' FS= OFS=:
01:43:22

$ echo 22 |awk '{$0=sprintf ("%06d",$0);print $1$2,$3$4,$5$6}' FS= OFS=:
00:00:22


Last edited by rdcwayx; 02-19-2011 at 08:42 AM..
This User Gave Thanks to rdcwayx For This Post:
# 4  
Old 02-19-2011
Thank you everyone for the posts. Perl is great, but it is not "embraced" as much as awk.

Both examples work great!

Thank you for the help
# 5  
Old 02-19-2011
Code:
sed 's/^/00000/;s/.*\(..\)\(..\)\(..\)$/\1:\2:\3/'

This User Gave Thanks to Scrutinizer For This Post:
# 6  
Old 02-20-2011
Get idea from Scrutinizer's
Code:
printf %06d 123 |sed 's/\(..\)\(..\)\(..\)$/\1:\2:\3/'

This User Gave Thanks to rdcwayx For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Converting seconds to minutes

Hello everyone, I calculate in my bash script the different between two timestamps in seconds. The next step would be to get the difference in minutes, and there is my Problem:AnzahlUeberstunden=$(( $(date -d "$JAHR-$MONAT-$TAG $ArbeitEnde" +%s) - $(date -d "$JAHR-$MONAT-$TAG... (6 Replies)
Discussion started by: Chaos_Lord
6 Replies

2. UNIX for Beginners Questions & Answers

How to convert days hours minutes seconds to minutes?

Hi, please help with below time conversion to minutes. one column values: 2 minutes 16 seconds 420 msec 43 seconds 750 msec 0 days 3 hours 29 minutes 58 seconds 480 msec 11 seconds 150 msec I need output in minutes(total elapsed time in minutes) (2 Replies)
Discussion started by: ramu.badugula
2 Replies

3. Shell Programming and Scripting

Add or Subtract the hours,minutes or seconds in the the time variable

Hello All, I am working on script where I need to add hours,minutes or seconds in the time.Time is not the current but it could be future time.I thought I can store that time in variable and add hours.minutes or second but I am not able to add that in the time that is stores in a variable. Time... (9 Replies)
Discussion started by: anuragpgtgerman
9 Replies

4. Shell Programming and Scripting

Process Time in hours or minutes only

Hi i want to print the time of a process in hours only..(or) in minutes only.Is there anyway to print the process such like that when i give the commnand like following #ps -eo pid,time PID TIME 412 01:49:32 481 00:03 it shows in HH:MM:SS format: Could anyone... (1 Reply)
Discussion started by: srikanthg
1 Replies

5. Shell Programming and Scripting

Cron job for every five minutes and between hours

Hi I need to run a script every five minutes and it should run between 07-15 hours all days. How i can achieve this... i tried like this */5 07-15 * * * /scripts/CreateFtpData.sh It throws an error... (1 Reply)
Discussion started by: aemunathan
1 Replies

6. Shell Programming and Scripting

Take action only if a file is X hours (or seconds) old

shell: #!/bin/ash I searched and found a few relevant posts (here and here - both by porter, on the same day (?)) however both are just a do while loop, I need to check a file date and compare it to the current time. I would like it to say if file 'test' is more than 12 hours old than "right... (3 Replies)
Discussion started by: phdeez
3 Replies

7. Shell Programming and Scripting

Difference in day-hours-minutes-seconds format

Hi experts, I am reading two log files and passing dates as output to a txt file. Code is given below: echo "Start Time:" >> Report.txt cat start.log | while read LINE1 do echo $DATE1 >> Report.txt done echo "End Time:" >> Report.txt cat end.log | while read LINE2 ... (7 Replies)
Discussion started by: Sreejith_VK
7 Replies

8. UNIX for Dummies Questions & Answers

crontab every 2 minutes, 24 hours and once a week

can someone please check my answers for the crontabs I am making 1. how would I set up a crontab tab executes every 2 minutes each and every day of the week? answer: 2 * * * * /path/to/file.pl <-- is this correct? 2. how would I set up a crontab that executes every 24 hours at 2am?... (6 Replies)
Discussion started by: Bobafart
6 Replies

9. Shell Programming and Scripting

how to display time in minutes n seconds...

Hi all, may i know how to display time in minutes and seconds(may be milliseconds and even smaller that ) in shell scripts.... (1 Reply)
Discussion started by: santy
1 Replies

10. Shell Programming and Scripting

Convert minutes to hours, minutes, seconds

How would you convert lets say a 1000 minutes to hours, minutes, seconds (1 Reply)
Discussion started by: Vozx
1 Replies
Login or Register to Ask a Question