Moving files from one directory to another based on 2 date variables


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Moving files from one directory to another based on 2 date variables
# 8  
Old 06-21-2012
Hi Corona,

I am pasting the actual code here. Also attaching the logs. I hope this help you narrow down the cause of the issue.

The CPMGPERDynamicDateFile.txt has the following dates in it,
Code:
DYN_BUS_DATE=20120625
P_SUB_DATE=20120603

Files in /iis_dev_data3/wcc/cpmg/tmp
Code:
20120619_EMPLOYEE.txt
20120618_EMPLOYEE.txt
20120622_EMPLOYEE.txt
20120609_EMPLOYEE.txt


Code:
 
export DYN_BUS_DATE=`cat $COMMON_TMP/CPMGPERDynamicDateFile.txt| grep 'P_BUS_DATE' | cut -d"=" -f2`
export P_SUB_DATE=`cat $COMMON_TMP/CPMGPERDynamicDateFile.txt| grep 'P_SUB_DATE' | cut -d"=" -f2`
 
Date_Current=$DYN_BUS_DATE
Date_Previous=$P_SUB_DATE
IFS="_"
for EMPLOYEE in /iis_dev_data3/wcc/cpmg/tmp/*.txt
do
set -- $FILE
if [ "$1" ">" "$Date_Previous" ] && [ "$1" "<" "$Date_Current" ] ||
[ "$1" = "$Date_Previous" ] || [ "$1" = "$Date_Current" ]
then
echo mv "$FILE /iis_dev_data3/wcc/cpmg/inbox/"
fi
done

Thanks Much
Freddie

Last edited by Scrutinizer; 06-21-2012 at 02:48 PM.. Reason: code tags + code tags instead of quote tags
# 9  
Old 06-21-2012
Hello Alister,

Thanks for your reply. Here is the answer for your assumptions.

1) There will be only one EMPLOYEE file per date, but there are multiple files in the same directory with dates within the P_BUS_DATE/P_SUB_DATE range
2) All the files in the directory starts with date.

In the below code, can you pls tell where we are passing the file name ?
Code:
ls | sed -n "/$Date_Previous/,/$Date_Current/p; /$Date_Current/q" | xargs -I_ echo mv _ /iis_data/destination/

Also, is there a way I can write the dates for which there is file availability into a .done file ? (ie, if the date range is 20120621 to 20120617, lets say there are no files for 20120619,20120620.
In this case, the .done file should only have 20120621,20120618,20120617 in it.


Thanks Much
Freddie

Last edited by Scrutinizer; 06-21-2012 at 02:48 PM.. Reason: code tags instead of quote tags
# 10  
Old 06-21-2012
Forgot to change a variable name:
Code:
for EMPLOYEE in /iis_dev_data3/wcc/cpmg/tmp/*.txt
do
        set -- $EMPLOYEE
        if [ "$1" ">" "$Date_Previous" ] && [ "$1" "<" "$Date_Current" ] ||
                [ "$1" = "$Date_Previous" ] || [ "$1" = "$Date_Current" ]
        then
                echo mv "$FILE /iis_dev_data3/wcc/cpmg/inbox/"
        fi
done

# 11  
Old 06-21-2012
Hi Corona,

I made the change you suggested.Here is what I see in logs now, (looks like soemthing is still wrong :-(

Quote:
++ cat /iis_dev_data3/wcc/cpmg/tmp/CPMGPERDynamicDateFile.txt
++ grep P_BUS_DATE
++ cut -d= -f2
+ export DYN_BUS_DATE=20120625
+ DYN_BUS_DATE=20120625
++ cat /iis_dev_data3/wcc/cpmg/tmp/CPMGPERDynamicDateFile.txt
++ grep P_SUB_DATE
++ cut -d= -f2
+ export P_SUB_DATE=20120603
+ P_SUB_DATE=20120603
+ Date_Current=20120625
+ Date_Previous=20120603
+ IFS=_
+ for EMPLOYEE in '/iis_dev_data3/wcc/cpmg/tmp/*.txt'
+ set -- /iis dev data3/wcc/cpmg/tmp/20120609 EMPLOYEE.txt
+ '[' /iis '>' 20120603 ']'
+ '[' /iis = 20120603 ']'
+ '[' /iis = 20120625 ']'
+ for EMPLOYEE in '/iis_dev_data3/wcc/cpmg/tmp/*.txt'
+ set -- /iis dev data3/wcc/cpmg/tmp/20120618 EMPLOYEE.txt
+ '[' /iis '>' 20120603 ']'
+ '[' /iis = 20120603 ']'
+ '[' /iis = 20120625 ']'
+ for EMPLOYEE in '/iis_dev_data3/wcc/cpmg/tmp/*.txt'
+ set -- /iis dev data3/wcc/cpmg/tmp/20120619 EMPLOYEE.txt
+ '[' /iis '>' 20120603 ']'
+ '[' /iis = 20120603 ']'
+ '[' /iis = 20120625 ']'
+ for EMPLOYEE in '/iis_dev_data3/wcc/cpmg/tmp/*.txt'
+ set -- /iis dev data3/wcc/cpmg/tmp/20120622 EMPLOYEE.txt
+ '[' /iis '>' 20120603 ']'
+ '[' /iis = 20120603 ']'
+ '[' /iis = 20120625 ']'
+ for EMPLOYEE in '/iis_dev_data3/wcc/cpmg/tmp/*.txt'
+ set -- /iis dev data3/wcc/cpmg/tmp/CallParam.txt
+ '[' /iis '>' 20120603 ']'
+ '[' /iis = 20120603 ']'
+ '[' /iis = 20120625 ']'
+ for EMPLOYEE in '/iis_dev_data3/wcc/cpmg/tmp/*.txt'
+ set -- /iis dev data3/wcc/cpmg/tmp/convertfuntionn.txt
+ '[' /iis '>' 20120603 ']'
+ '[' /iis = 20120603 ']'
+ '[' /iis = 20120625 ']'
Thanks
Freddie
# 12  
Old 06-21-2012
Okay, putting a path into there has changed it a lot.

Code:
set -- `basename $EMPLOYEE`

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Searching for a files based on current date directory

Hi All, I've been trying to do some recursive searching but not been very successful. Can someone please help. Scenario: I have directory structure /dir1/dir2/dir3/ 2019/ 11/ 17 18 19 20 so what I want to do is run a script and as its 2019/11/18/ today it would go and only search... (3 Replies)
Discussion started by: israr75
3 Replies

2. UNIX for Dummies Questions & Answers

Unable to find files, those can be present anywhere in the directory tree,based on its creation date

Hi I am unable to find files, those are present anywhere in the same directory tree, based on the creation date. I need to find the files with their path, as I need to create them in another location and move them. I need some help with a script that may do the job. Please help (2 Replies)
Discussion started by: sam192837465
2 Replies

3. UNIX for Dummies Questions & Answers

Script moving files based on date

Hi, I need a script that moves files based on date to a folder. The folder should be created based on file date. Example is : Date file name ----- -------- Oct 08 07:39 10112012_073952.xls Oct 09 07:39 10112012_073952.xls Oct 10 07:39 ... (6 Replies)
Discussion started by: rockingvj
6 Replies

4. Shell Programming and Scripting

Move files from one directory to another based on creation/modification date

Hi All, Really stuck up with a requirement where I need to move a file (Lets say date_Employee.txt--the date will have different date values like 20120612/20120613 etc) from one directory to another based on creation/modification dates. While visiting couple of posts, i could see we can... (3 Replies)
Discussion started by: dsfreddie
3 Replies

5. UNIX for Dummies Questions & Answers

Moving Directories Based on Modified date

Hi, How can I move directories (and all sub directories/files) from one directory to another based on the modified date of the directory? Currently the existing structure looks like this: /public_html/media/videos/tmb/34947/image1.jpg /public_html/media/videos/tmb/34947/image2.jpg ... (0 Replies)
Discussion started by: lbargers
0 Replies

6. Shell Programming and Scripting

Need script to select multiple files from archive directory based on the date range

hi all, here is the description to my problem. input parameters: $date1 & $date2 based on the range i need to select the archived files from the archived directory and moved them in to working directory. can u please help me in writing the code to select the multiple files based on the... (3 Replies)
Discussion started by: bbc17484
3 Replies

7. Shell Programming and Scripting

Creating date directory and moving files into that directory

I have list of files named file_username_051208_025233.log. Here 051208 is the date and 025233 is the time.I have to run thousands of files daily.I want to put all the files depending on the date of running into a date directory.Suppose if we run files today they should put into 05:Dec:08... (3 Replies)
Discussion started by: ravi030
3 Replies

8. Shell Programming and Scripting

Sorting Files by date and moving files in date order

I need to build a k shell script that will sort files in a directory where files appear like this "XXXX_2008021213.DAT. I need to sort by date in the filename and then move files by individual date to a working folder. concatenate the files in the working folder then start a process once... (2 Replies)
Discussion started by: rebel64
2 Replies

9. Shell Programming and Scripting

Moving file to directory based on condition.

Can any one help me to correct following script. I have 2 directories DropZone and ProcessZone. File pattern is *VEHDESCSUM*. Finding the 'no of files' in DropZone directory using ls *VEHDESCSUM* |wc -l If DropZone has more than one file or 0 files then exit 1 If DropZone has one file then... (2 Replies)
Discussion started by: ramanagh
2 Replies

10. UNIX for Dummies Questions & Answers

Moving files based on creation date

Howdy, I'm trying to figure out how to move multiple files based on their creation date. If anyone can enlighten me it would be most appreciated!! Thanks! :D (1 Reply)
Discussion started by: dgoyea
1 Replies
Login or Register to Ask a Question