04-21-2006
Hi, thestevew, thanks for ur idea and tips above.
------------------------------------------------------------------------
So far, I've got partly done of the script based on my original idea shown below:
#The script to extract "10-Mar-2006" from the source file and keep it in a tmpFile
head -2 sourcefile | tail -1l |awk -F"," '{print $1}' |cut -c52-62 >tmpFile
However, here the new problem arises, I need to convert this value to the format of MM/DD/YYYY, at 1st, I tried to use "date" to convert format, however, I find later tat it can only play with locale time, and I dun wanna change TZ. so I do it manually like this:
string=$(<tmpFile)
year='echo $string | cut -c8-11'
monthname='echo $string | cut -c4-6'
day='echo $string | cut -c1-2'
case $monthname in
Jan) typeset -RZ2 month=1;;
Feb) typeset -RZ2 month=2;;
Mar) typeset -RZ2 month=3;;
Apr) typeset -RZ2 month=4;;
May) typeset -RZ2 month=5;;
Jun) typeset -RZ2 month=6;;
Jul) typeset -RZ2 month=7;;
Aug) typeset -RZ2 month=8;;
Sep) typeset -RZ2 month=9;;
Oct) typeset -R2 month=10;;
Nov) typeset -R2 month=11;;
Dec) typeset -R2 month=12;;
*) print "Wrong date value extracted from source file";;
esac
#from the above, I can convert Mon(eg. Jan,Mar,...) to 01,02....12.
Next, I try to use sed to update the target file:
sed -e "s/ RE / replacement " targetFile >tmpTargetFile
mv tmpTargetFile targetFile
My question here is, how can I set "RE" to the last line and the specific postion I want in target file
e.g:The latest update time is: xxxxxx where the xxxxxxx is the old date value I want to replace with my new date value.
and to set replacement to be of my value $month/$date/$year got from script above.
Thanks a lot for ur help
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hello,
Im trying to extract a portion of a big file.
Using unique pattern /occurrence ,
(ex. loginname1,logoff and loginname2,logoff ),
I like to print the lines that contain the patterns and the lines between them.
Also, create a file for every login occurrence.
Thanks for everyone's... (1 Reply)
Discussion started by: apalex
1 Replies
2. Shell Programming and Scripting
Hi all,
Iam writing a script, which will extract all the files from Start_Date to End_Date. Files are date stamped as YYYYMMDD. For ex:
Start_Date='20051001'
End_Date='20060331'
extract files such as........
ramp_20050810.rpt
ramp_20050915.rpt
ramp_20051001.rpt
ramp_20051010.rpt... (2 Replies)
Discussion started by: ganapati
2 Replies
3. Shell Programming and Scripting
I want to get previous date from date command. I am using ksh shell.
Exmp:
today is 2008.09.04
I want the result : 2008.09.03
Please help.
Thanks in advance. (4 Replies)
Discussion started by: rinku
4 Replies
4. Shell Programming and Scripting
Hello
does anyone know of an awk that will extract log file entries between a specific date and time range, eg:
awk '/15\/Dec\/2010:16:10:00/, /15\/Dec\/2010:16:15:00/' access_log
but one that works?
Or a free command line log file analysis tool/script?
I'd like to be able to view... (2 Replies)
Discussion started by: competitions
2 Replies
5. Shell Programming and Scripting
Hi i am writing a cron job.
so for it i need the 60 days old date form current date in variable.
Like today date is 27 jan 2011 then output value will be stote in variable in formet Nov 27.
i am using EST date, and tried lot of solution and see lot of post but it did not helpful for me. so... (3 Replies)
Discussion started by: Himanshu_soni
3 Replies
6. Shell Programming and Scripting
Hi,
I have three files as below:
AA.DAT20110505063903.Z
AA.DAT20110405062903.Z
AA.DAT20110305061903.Z
All the above files are appended with Date and timestamp in compressed format.
I need to extract AA.DAT20110505063903.Z(which is the latest file) from one server and uncompress it... (2 Replies)
Discussion started by: pyaranoid
2 Replies
7. Shell Programming and Scripting
In KSH, I am pasting 2 almost identical files together and each one has a date and time on each line. I need to determine if the first instance of the date/time is greater than the 2nd instance of the date/time. If the first instance is greater, I just need to echo that line.
I thought I would... (4 Replies)
Discussion started by: right_coaster
4 Replies
8. UNIX for Dummies Questions & Answers
hi friends,
I m trying to write a script which compares to dates.
for this i am converting dates into no using synatx
as below
v2=`date | awk '{print $2,$3,$4}'`
v3=`date +%s -d "$v2"`
this syntax is working in bash shell ,but fails in ksh shell.
please suggest on this. (12 Replies)
Discussion started by: Jcpratap
12 Replies
9. Shell Programming and Scripting
FILE_ID extraction from file name and save it in CSV file after looping through each folders
My files are located in UNIX Server, i want to extract file_id and file_name from each file .and save it in a CSV file. How do I do that?
I have folders in unix environment, directory structure is... (15 Replies)
Discussion started by: princetd001
15 Replies
10. UNIX for Dummies Questions & Answers
Dear all,
I have an user passing 2 parameter 31/03/2015 and 02/04/2015 to a ksh script. How to print the start date to end date.
Expected output is :
31/03/2015
01/04/2015
02/04/2015
Note :
1. Im using aix and ksh
2. I have tried to convert the given input into a date, didnt... (0 Replies)
Discussion started by: mr.rajaravi
0 Replies
LEARN ABOUT DEBIAN
data::faker::datetime
Data::Faker::DateTime(3pm) User Contributed Perl Documentation Data::Faker::DateTime(3pm)
NAME
Data::Faker::DateTime - Data::Faker plugin
SYNOPSIS AND USAGE
See Data::Faker
DATA PROVIDERS
unixtime
Return a unix time (seconds since the epoch) for a random time between the epoch and now.
date
Return a random date as a string, using a random date format (see date_format).
time
Return a random time as a string, using a random time format (see time_format).
rfc822
Return an RFC 822 formatted random date. This method may not work on systems using a non-GNU strftime implementation (kindly let me
know if that is the case.)
ampm
Returns am or pm randomly (in the current locale) using one of the formats specified in ampm_format.
time_format
Return a random time format.
date_format
Return a random date format.
ampm_format
Return a random am/pm format.
datetime_format
Return a random date and time format.
month
Return a random month name, unabbreviated, in the current locale.
month_abbr
Return a random month name, abbreviated, in the current locale.
weekday
Return a random weekday name, unabbreviated, in the current locale.
weekday_abbr
Return a random weekday name, abbreviated, in the current locale.
sqldate
Return a random date in the ISO8601 format commonly used by SQL servers (YYYY-MM-DD).
datetime_locale
Return a datetime string in the preferred date representation for the current locale, for a random date.
date_locale
Return a date string in the preferred date representation for the current locale, for a random date.
time_locale
Return a time string in the preferred date representation for the current locale, for a random date.
century
Return a random century number.
dayofmonth
Return a random day of the month.
UTILITY METHODS
Data::Faker::DateTime::timestr($format);
Given a strftime format specifier, this method passes it through to POSIX::strftime along with a random date to display in that format.
Perl passes this through to the strftime function of your system library, so it is possible that some of the formatting tokens used
here will not work on your system.
NOTES AND CAVEATS
Be careful build timestamps from pieces
Be very careful about building date/time representations in formats that are not already listed here. For example if you wanted to get
a date that consists of just the month and day, you should NOT do this:
my $faker = Data::Faker->new();
print join(' ',$faker->month,$faker->dayofmonth)."
";
This is bad because you might end up with 'February 31' for example. Instead you should use the timestr utility function to provide
you a formatted time for a valid date, or better still, write a plugin function that does it:
my $faker = Data::Faker->new();
print $faker->my_short_date()."
";
package Data::Faker::MyExtras;
use base qw(Data::Faker);
use Data::Faker::DateTime;
__PACKAGE__->register_plugin(
my_short_date => sub { Data::Faker::DateTime::timestr('%M %e') },
);
POSIX::strftime
See the documentation above regarding the timestr utility method for some caveats related to strftime and your system library.
SEE ALSO
Data::Faker
AUTHOR
Jason Kohles, <email@jasonkohles.com>
COPYRIGHT AND LICENSE
Copyright 2004-2005 by Jason Kohles
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
perl v5.10.1 2005-07-14 Data::Faker::DateTime(3pm)