Date time problem


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Date time problem
# 1  
Old 06-09-2009
Date time problem

Hi Guys,
I have a file a.txt
Start Date/Time End Date/Time from Prob_Dura.
----------------- ----------------- ----- ------
20090525 23:58:59 20090526 00:00:00 machine1 000051
20090525 23:58:09 20090526 00:00:11 machine2 000150

The perl or shell script can:
1. remove first two lins.
2. remove column "from".
3. calculate how many seconds between End and Start Date/Time.
4. calculate how many seconds for the Prob_Dura, now the format is "hh/mm/ss".

The output should be:
61 51
122 110

I read the thread here, and know awk, sed can do, but when trying on my file, then still cannot figure out...Smilie --- Smilie

Thanks
# 2  
Old 06-09-2009
put here your awk, even does not work. Let see it together.
# 3  
Old 06-09-2009
cut field

Start Date/Time End Date/Time from Prob_Dura
----------------- ----------------- ----- ------
20090525 23:58:59 20090526 00:00:00 machine1 000051
20090525 23:58:09 20090526 00:00:11 machine22 000150


1. remove the first two lines.
awk 'FNR>2' a.txt

2. remove the columun for from
cut -f1,2,3,4,6 -d' ' a.txt
but i fail to do that, becuase you can see the line no.2 machines22 + one space + 000150; but line no.1 is two spaces between the "from" and "Prob_Dura". So the -f6 is the empty character.

Smilie i stuck here.

Please advice, any other good way can select what i want, or solve the more than one space issue.

Thanks
# 4  
Old 06-10-2009
Hi, if your day range is less than one month, i think below perl script is ok.

But if you day range may be more than one month, need to take diversity days-per-month into account and modify below code accordingly, which is a little bit complexSmilie

Code:
sub toSecond{
	my ($time)=@_;
	my @tmp=split(":",$time);
	return $tmp[0]*3600+$tmp[1]*60+$tmp[2];
}
while(<DATA>){
	next if $. < 3;
	chomp;
	my @tmp=split;
	$tmp[5]=~s/([0-9]{2})([0-9]{2})([0-9]{2})/$1*3600+$2*60+$3/e;
	print toSecond($tmp[3])-toSecond($tmp[1])+ ($tmp[2]-$tmp[0])*24*60*60," ",$tmp[5],"\n";
}
__DATA__
Start Date/Time End Date/Time from Prob_Dura.
----------------- ----------------- ----- ------
20090525 23:58:59 20090526 00:00:00 machine1 000051
20090525 23:58:09 20090526 00:00:11 machine2 000150

# 5  
Old 06-10-2009
works perfect!

Hi cherry,

It works perfectly. I always thought awk, sed, those commands, but yours coding is so simple. Smilie

instead of
__DATA__
Start Date/Time End Date/Time from Prob_Dura.
----------------- ----------------- ----- ------
20090525 23:58:59 20090526 00:00:00 machine1 000051
20090525 23:58:09 20090526 00:00:11 machine2 000150

how i can do with a file, i mean the start date... 2009... 000051, those data in a "a.txt". how the perl script can read from a file, stead of __DATA__?

Thanks

-----Post Update-----

Smilie

$data_file="a.txt";
open(DAT, $data_file) || die("Could not open file!");

while(<DAT>){
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Displaying current date time of EDT in IST time

Hi Folks, My server time is in EDT. And i am sending automated mails from that server in which i need to display the current date time as per IST (GMT+5:30). Please advice how to display the date time as per IST. IST time leads 9:30 mins to EDT. and i wrote something like below. ... (6 Replies)
Discussion started by: Showdown
6 Replies

2. Shell Programming and Scripting

Adding time to date time in UNIX shell scipting

I needed some help in adding a duration (in seconds) to a start time (in hhmmss format) and a start date (in mmddyy format) in order to get an end date and end time. The concept of a leap year is also to be considered while incrementing the day. The code/ function that I have formed so far is as... (3 Replies)
Discussion started by: codehelp04
3 Replies

3. Solaris

modifying date and time and time zone on solaris 5.10 with (redundant server) veritas

I have a cluster of two Solaris server (veritas cluster). one working and the other is standby I am going to change the date on them , and am looking for a secure solution as it is giving an important service. my opinion is that the active one doesn't need to be restarted (if I don't change the... (1 Reply)
Discussion started by: barry1946
1 Replies

4. 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

5. UNIX for Dummies Questions & Answers

Shell Scripts - shows today’s date and time in a better format than ‘date’ (Uses positional paramete

Hello, I am trying to show today's date and time in a better format than ‘date' (Using positional parameters). I found a command mktime and am wondering if this is the best command to use or will this also show me the time elapse since 1/30/70? Any help would be greatly appreciated, Thanks... (3 Replies)
Discussion started by: citizencro
3 Replies

6. Programming

Date time problem while executing perl script.

Hi All, This Monday 15th March 2010, i have faced a weired issue with my Perl script execution, this script is scheduled to run at 1 minute past midnight on daily basis ( 00:01 EST ) generally for fetching previous business date , say if it is Monday it should give last Friday date, for Tuesday... (0 Replies)
Discussion started by: ravimishra
0 Replies

7. Homework & Coursework Questions

Date comparison with 'string date having slashes and time zone' in Bash only

1. The problem statement, all variables and given/known data: I have standard web server log file. It contains different columns (like IP address, request result code, request type etc) including a date column with the format . I have developed a log analysis command line utility that displays... (1 Reply)
Discussion started by: TariqYousaf
1 Replies

8. Shell Programming and Scripting

Convert Epoch Time to Standard Date and Time & Vice Versa

Hi guys, I know that this topic has been discuss numerous times, and I have search the net and this forum for it. However, non able to address the problem I faced so far. I am on Solaris Platform and unable to install additional packages like the GNU date and gawk to make use of their... (5 Replies)
Discussion started by: DrivesMeCrazy
5 Replies

9. Shell Programming and Scripting

problem with displaying date and adding time

Hi, I have a log file with contents like 81.49.74.131 - - 81.49.74.131 - - 116.112.52.31 - - 116.112.52.31 - - I need an output like this 81.49.74.131 14/Sep/2008 Time duration: 00:06:00 116.112.52.31 15/Sep/2008 Time duration: 00:00:01 Please anyone suggest a script for this.... (1 Reply)
Discussion started by: FuncMx
1 Replies

10. Programming

problem deleting date-time stamped file in a directory

I have a number of files of the format filename.xfr_mmddyy_%H%M%S which i get in a specified directory daily. Now i want to search in the specified directory & delete the files which are more than 2 days old .So I use a command find $DIR/backup/* -ctime +2 -exec rm -f {} \; But after executing... (1 Reply)
Discussion started by: dharmesht
1 Replies
Login or Register to Ask a Question