Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- echo "$(date) : Start" >>worktime.txt
- echo "$(date) : End" >>worktime.txt
- kent@rat:~/work$ cat worktime.txt
- Fri Jan 2 19:17:13 CET 2009 : Start
- Fri Jan 2 19:47:18 CET 2009 : End
- Fri Jan 2 21:41:07 CET 2009 : Start
- Fri Jan 2 22:39:24 CET 2009 : End
- #!/bin/bash
- total=0
- while read LINE; do
- d1=$(echo $LINE |cut -c1-28);
- t1=$(date -d "$d1" +%s);
- read LINE
- d2=$(echo $LINE |cut -c1-28);
- t2=$(date -d "$d2" +%s);
- total=$(($total+$t2-$t1));
- done
- echo $(($total/(60*60))) hours
- echo $(date +%s) : Start
- #!/bin/bash
- total=0
- while read LINE; do
- t1=$(echo $LINE |cut -d' ' -f1)
- read LINE
- t2=$(echo $LINE |cut -d' ' -f1)
- total=$(($total+$t2-$t1))
- done
- echo "$(echo "scale=2; $total/(60*60)" |bc -l)" hours
- BEGIN {
- total_secs = 0
- FS = OFS = ":"
- }
- function snip_it() {
- $NF = ""; $0 = substr($0, 1, length($0)-1);
- }
- !(NR % 2) {
- snip_it();
- ("date -d "" $0 "" +%s") | getline start_secs
- }
- NR % 2 {
- snip_it();
- ("date -d "" $0 "" +%s") | getline end_secs
- total_secs += (end_secs - start_secs)
- }
- END {
- print "Total work time of " total_secs " seconds"
- }
Add Comment
Please, Sign In to add comment