Issue in Julian date conversion


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Issue in Julian date conversion
# 1  
Old 07-13-2012
Error Issue in Julian date conversion

All, I am facing an issue with julian date conversion..

current command:
Code:
 
echo `date +%Y%j` `cat -n /home/user/FILENAME.dat |awk '{printf "%08s", $2}'`


The above command is working good. But in the above bolded part, it is converting system date to julian date. However I want to convert the date present in the file "FILENAME.dat".

example: If the date in file is 20120201 (that is YYYYMMDD format), then I want the output to be a combination of both julian date and standard date:

Desired output: 20120032 20120201


Note that I want it to be a single command.


Mods: I tried to search for similar requirement but could'nt. So posted a new thread.

Kindly help please.
# 2  
Old 07-13-2012
If I understand your request correctly, this could be a solution:

Code:
$ cat infile
20120201 col2 col3
20120201 col2 col3

Code:
$ awk '{print dte,$0}' dte=$(date +%Y%j) infile

# 3  
Old 07-13-2012
Its giving wrong julian date

currently the date in my file is 20120427 (27th April 2012 in YYYYMMDD format).

I tried using the command as suggested:

Code:
awk '{print dte,$0}' dte=$(date +%Y%j) FILENAME

but it is giving me julian date of current date but not for the date mentioned in file.

Code:
 
Output:
2012195 20120427

however my desired output be: 2012118 20120407

Last edited by cmaroju; 07-13-2012 at 02:51 AM.. Reason: updated
# 4  
Old 07-13-2012
Try this....

Code:
x=`cat -n /home/user/FILENAME.dat |awk '{printf "%08s", $2}'`; echo `date +"%Y%j" -d "$x"` $x

# 5  
Old 07-13-2012
Code:
$ cat infile
20120201 col2 col3
20120427 col2 col3
$
$ while read x y; do echo "$(date -d$x +%Y%j) $x"; done < infile
2012032 20120201
2012118 20120427
$

This User Gave Thanks to balajesuri For This Post:
# 6  
Old 07-13-2012
Hi, The challenge here is I need it as part of single command Smilie


So can you please help me out, its am running out of time and got to deliver the code at the earlies..

note: at any given point of time, my file will have only single date value.
Code:
 
cat FILENAME.dat
20120427


Last edited by cmaroju; 07-13-2012 at 03:36 AM.. Reason: updated
# 7  
Old 07-13-2012
Code:
echo "$(date -d`cat FILENAME.dat` +%Y%j) $(cat FILENAME.dat)"

(I know this is useless use of cat)
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Addition to Julian date

Need assistance . Below code gets me julian date . I wanted to add hour/24 to julian date and output it. Is there a way to do the calculation? use Time::Local; use POSIX qw(strftime); my $time=timelocal(1,2,3,9,11,2013); printf strftime "%j", localtime($time); 343 (3 Replies)
Discussion started by: ajayram_arya
3 Replies

2. Shell Programming and Scripting

Julian date to Calendar date conversion

Hi all, I require to convert julian date to normal calander date in unix for eg julian date=122 now i want corresponding calander date ---------------------------------------- gr8 if give very small command/script and please explain the steps as well(imp) Thanks ... (3 Replies)
Discussion started by: RahulJoshi
3 Replies

3. Homework & Coursework Questions

How to approach Julian date?

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! 1. The problem statement, all variables and given/known data: This function is given the day, month and year and returns the Julian date. The Julian date is the... (1 Reply)
Discussion started by: mgyeah
1 Replies

4. Homework & Coursework Questions

Get Julian date from date string

Hi, im new for UNIX. i have a problem in date function. please help me to find a solution. batchdate="29/10/2010" nextdate="01/11/2010" i want compare this two date. if my batch date greater than nextdate should prompt error message. how can i do that? as i know its better and safer if i... (2 Replies)
Discussion started by: ananth4mu
2 Replies

5. Shell Programming and Scripting

Conversion of date to Julian date

Hi Gurus, Need help in Conversion of date(2007-11-30) to Julian date(YYDDD)... '+%J' 2007-11-30 to 'YYDDD' Thanks (4 Replies)
Discussion started by: SeenuGuddu
4 Replies

6. Shell Programming and Scripting

need help using find and date (julian)

I'm trying to put together a little script that will move some files to a directory, uncompress the file then delete the file when processing is complete. The files are all named using julian date 2009072.Z 2009071.Z 2009070.Z 2009069.Z 2009068.Z 2009067.Z 2009066.Z 2009065.Z... (8 Replies)
Discussion started by: 1buckeye_fan
8 Replies

7. UNIX for Dummies Questions & Answers

How to get yesterdays julian date

Hi, Was using date +%Y%j to get current julian date. Can anyone let me know how can I get y'day's julin date. Thx Did check FAQ but couldn't find anything. Thanks. (3 Replies)
Discussion started by: er_ashu
3 Replies

8. Shell Programming and Scripting

Perl in KSH - julian conversion

Hello Everyone, I have this code misbehaving in one of my scripts, I have a var containing the sequential number of the day for the year and I am suppose to get the regular date for that day and its weekday. If I set the day to 273 I get back 2008/09/31 which is not a proper date. can you help... (7 Replies)
Discussion started by: gio001
7 Replies

9. Shell Programming and Scripting

convert Julian date to calender date

Hi, I have script in unix which creates a julian date like 126 or 127 I want convert this julian date into calender date ex : input 127 output 07/may/2007 or 07/05/2007 or 07/05/07 rgds srikanth (6 Replies)
Discussion started by: srikanthus2002
6 Replies

10. Shell Programming and Scripting

Julian Date

I have a shell script which gets passed a parameter which is a combination of Year and Julian Date <YYYYj>. So April 11th, julian date is 101. So if I wanted April 11th for 2003 I would get the following value 2003101. How would I convert that in unix to be 20030411? I am using the korn shell. (3 Replies)
Discussion started by: lesstjm
3 Replies
Login or Register to Ask a Question