need help using find and date (julian)


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting need help using find and date (julian)
# 1  
Old 03-13-2009
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
2009064.Z
2009063.Z
2009062.Z
2009061.Z
2009060.Z
2009059.Z
2009058.Z
2009057.Z

each day the oldest file falls off and the next day takes the lead.

I'm trying to find a way that will find the file with todays julian date, cp to another directory, uncompress, run another script on this uncompressed file, delete the file and then return to master directory to copy the next file over.

I can't mass cp the files because of size restrictions so I have to handle each file one at a time.

Thoughts or ideas would be very appreciated.

Thanks!
# 2  
Old 03-13-2009
From today -> files in the past for one year.
Code:
cd /someplace
start=$( date +%Y%03j )
stop=$(  date +%Y000 )
while [[ $start -gt $stop ]]
{
     if [[ -f ${start}.Z ]] ; then
       cp ${start}.Z /anotherplace
       my_other_script.sh /anotherplace/${start}.Z
       rm -f /anotherplace/${start}.Z
       start=$(( $start - 1 ))
     else
           echo "${start}.Z not found .. skipping on to the next file "
    fi
}

# 3  
Old 03-16-2009
thanks for the reply but I have a question...

You have
start=$( date +%Y%03j )
stop=$( date +%Y000 )


shouldn't that line actually be
start=$( date +%Y365 )
stop=$( date +%Y000 )
# 4  
Old 03-16-2009
here is what I'm working with now...

Code:
cd /cms/ech_data/archive
start=$( date +%Y%j )
stop=$(  date +%Y000 )
while [[ $start -gt $stop ]]
do
    cp ${start}.Z ../recovery
    cd ../recovery
    uncompress ${start}.Z
    cpio -ivm < ${start}
    rm ${start}
    * touch   this is an error also  touch [filename] is the syntax 

for file in `ls chr*`
        do
        /export/home/ech/OA_resend $file
        echo $file
        rm $file
        done
        start=$(( $start - 1 ))
done


this script generates this error
syntax error at line 10 : `while' unmatched

Last edited by jim mcnamara; 03-16-2009 at 01:32 PM..
# 5  
Old 03-16-2009
Please see the changes in red.
# 6  
Old 03-16-2009
thanks... I'm still missing something and I can't see what it is...

I'm trying to run the script in debug mode -x but it looks like I need to insert some pauses so I can read what the output is...

How can I pause the script at different points in the script?
# 7  
Old 03-16-2009
never mind.. I think I found what I need....
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Calculate Julian date of a given date

How to get Julian date (Three digit) of a given date (Not current date)? I do not have root privilege - so can not use date -d. Assume that we have three variables year, month and date. Thx (5 Replies)
Discussion started by: Soham
5 Replies

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

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

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

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

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

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

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

9. Shell Programming and Scripting

Find julian date for given corresponding date

Hi, is there any possibility to find julian date for given corresping date. I will be gladfull if i get it. Requirement : Input : 10 09 2006 output: julian date: 283 thanks srikanth (2 Replies)
Discussion started by: srikanthus2002
2 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