gregorian date with awk


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting gregorian date with awk
# 1  
Old 07-13-2006
Error gregorian date with awk

Hi everybody:
I'm trying to create files database, and to do this I'd like to create them with this format:

date hour julian-day SZA other-values

from the original file I've this format:

- , year, julian-day, minute, other-values
112,2004,84,2300,-3.352,,,,,,,,,,,

To do this I'd created this awk-script:
#
# here there are different format staments
#

# gregorian date conversion
{
if($3 <= 31) dg = $3; mm=01; # january
if($3 > 31 && $3 <=59) dg = $3-31; mm = 02; # february
if($3 > 59 && $3 <=90) dg = $3-59; mm = 03; # march
if($3 > 90 && $3 <=120) dg = $3-90; mm = 04; # april
if($3 > 120 && $3 <=151) dg = $3-120; mm = 05; # may
if($3 > 151 && $3 <=181) dg = $3-151; mm = 06; # juny
if($3 > 181 && $3 <=212) dg = $3-181; mm = 07; # july
if($3 > 212 && $3 <=243) dg = $3-212; mm = 08; # august
if($3 > 243 && $3 <=273) dg = $3-243; mm = 09; # september
if($3 > 273 && $3 <=304) dg = $3-273; mm = 10; # octuber
if($3 > 304 && $3 <=334) dg = $3-304; mm = 11; # november
if($3 > 334 && $3 <=365) dg = $3-334; mm = 12; # december
};

# hour format

{
if ($4 <=9 ) $4 = 000$4;
if ($4 >=10 && $4 <=59 ) $4 = 00$4;
if ($4 >=100 && $4 <=959 )$4 = 0$4;
};

and the output I'd like this:

# print final file with format
{
printf format, $2 mm dg, $4, $3, SZA, $5, $6, $7, $8, $9, $10, $11, $12, $13
}' abr01_04.mpy > abr01_04.csv

and I've this:

20041226 00 85 136.11934 -2.595 -2.697 .044 25.31 -1.19 5.334 1.058 .197 .096
20041226 01 85 136.11934 -2.766 -2.588 .044 25.42 -1.19 5.382 .753 .205 .193
20041226 02 85 136.11934 -2.984 -2.429 .044 25.37 -1.189 5.405 .896 .197 .116
20041226 03 85 136.11934 -2.98 -2.419 .044 25.31 -1.189 5.41 .789 .183 .125
20041226 04 85 136.11934 -3.005 -2.344 .044 25.42 -1.193 5.418 .914 .234 .141

First I don't know why the format date the month doesn't appear correctly, in this case it must be 05-april cause julian day is 85, and in the other hand the hour format doesn't appear as I'd like, because in this case it is 00 where it must be 0000.
Could anybody tell me how solve it?.
Thanks in advance. Smilie
tonet
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

awk IF date comparison help

Hey everyone, I'm trying to create a script using awk and if that will list all of our aws tapes that have archived date that is past 90 days from todays current date, so that I can pass that to my aws command to remove. The fifth column is the creation date in epoch/seconds, so I'm... (13 Replies)
Discussion started by: beyondmondays
13 Replies

2. HP-UX

awk command in hp UNIX subtract 30 days automatically from current date without date illegal option

current date command runs well awk -v t="$(date +%Y-%m-%d)" -F "'" '$1 < t' myname.dat subtract 30 days fails awk -v t="$(date --date="-30days" +%Y-%m-%d)" -F "'" '$1 < t' myname.dat awk command in hp unix subtract 30 days automatically from current date without date illegal option error... (20 Replies)
Discussion started by: kmarcus
20 Replies

3. Shell Programming and Scripting

Find week of the year for given date using date command inside awk

Hi all, Need an urgent help on the below scenario. script: awk -F"," 'BEGIN { #some variable assignment} { #some calculation and put values in array} END { year=#getting it from array and assume this will be 2014 month=#getting it from array and this will be 05 date=#... (7 Replies)
Discussion started by: vijaidhas
7 Replies

4. Shell Programming and Scripting

Passing date into awk...

Hi All.... I need to pass date into awk and parse logfile based on that.... i used both awk and /usr/xpg4/bin/awk... both are throwing up error..... So here is the stuff... when i use /usr/xpg4/bin/awk : DATE=`date '+%Y %b %d'` START=00 END=23 /usr/xpg4/bin/awk -v DATE={"$DATE"} -v... (3 Replies)
Discussion started by: Nithz
3 Replies

5. UNIX for Dummies Questions & Answers

awk, splitting date

can any1 explain me hw is below wrking: wat is substr and dd,mmyear used for wat values will go in dese? sdt='31122010235959' sdate=`validate_date $sdt` validate_date() { dt="$1" set `echo $dt | nawk '{ print... (2 Replies)
Discussion started by: musu
2 Replies

6. Shell Programming and Scripting

using awk to print date

i want to use awk to print the first,second and add date as third column in a file awk -F"|" ' { print $1,$2,current date }' tom.unl >> top.txt how can i achieve this,i need the comma's to seperate them and finally print current date and time as the third. i want output like... (5 Replies)
Discussion started by: tomjones
5 Replies

7. UNIX for Dummies Questions & Answers

awk for date

Hello All, in my script i want to get the month part of date. I need the month part because i will grep logs every month using it. When i run the "date" command i got the below result: serverprod{root}>date Mon Aug 24 14:01:20 EEST 2009 but when i type the below command i got Aug24... (5 Replies)
Discussion started by: EAGL€
5 Replies

8. UNIX for Dummies Questions & Answers

Use of system date in awk

i'm facing problems in using system date in a awk script... it should display the date in a report in mm/dd/yy format.. please help me in this case.. thanks (3 Replies)
Discussion started by: Manish4
3 Replies

9. UNIX for Dummies Questions & Answers

date in awk

Hi, Can anyone tell me how can we assign a system date to a variable in awk script? Also how can we use this varible to print this in an other file. Regards, Jamuna (13 Replies)
Discussion started by: jam_prasanna
13 Replies

10. Shell Programming and Scripting

need date in awk

Hello all: Running SunOS 5.6 on a SPARCstation-5...and using bourne shell. This is a line from a script I am writing: LOG=/opt/msplib/sys/logs/alarm.log$* grep "Call Answered" $LOG |wc -l | awk '{ print "Call Answered\t" $1 "\tIVR\t" "AR-a"} It works great, and produces the... (5 Replies)
Discussion started by: cdunavent
5 Replies
Login or Register to Ask a Question