Move files based on date in filename


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Move files based on date in filename
# 8  
Old 06-25-2010
Quote:
LIST=$( find $instance_hpath/db2dump -name "db2diag*.log" -mtime +30 -print )
for FILE in $LIST
do
FYEAR=$( echo $FILE | awk -F '-' '{print $2}' )
FMONTH=$( echo $FILE | awk -F '-' '{print $3}' )
case $FMONTH in
"01") FMONTH=Jan ;;
"02") FMONTH=Feb ;;
"03") FMONTH=Mar ;;
"04") FMONTH=Apr ;;
"05") FMONTH=May ;;
"06") FMONTH=Jun ;;
"07") FMONTH=Jul ;;
"08") FMONTH=Aug ;;
"09") FMONTH=Sep ;;
"10") FMONTH=Oct ;;
"11") FMONTH=Nov ;;
"12") FMONTH=Dec ;;
esac
FOLDER=$FMONTH'_'$FYEAR
mv -v $FILE $FOLDER
done

As this is AIX which is hopeless at dealing with long command lines, let's feed the file names one-by-one and ensure that we preserve the filename intact.

Code:
find $instance_hpath/db2dump -name "db2diag*.log" -mtime +30 -print | while read FILE
do
  FYEAR=$( echo "${FILE}" | awk -F '-' '{print $2}' )
  FMONTH=$( echo "${FILE}" | awk -F '-' '{print $3}' )
  case $FMONTH in 
    "01") FMONTH=Jan ;;
    "02") FMONTH=Feb ;;
    "03") FMONTH=Mar ;;
    "04") FMONTH=Apr ;;
    "05") FMONTH=May ;;
    "06") FMONTH=Jun ;;
    "07") FMONTH=Jul ;;
    "08") FMONTH=Aug ;;
    "09") FMONTH=Sep ;;
    "10") FMONTH=Oct ;; 
    "11") FMONTH=Nov ;;
    "12") FMONTH=Dec ;;
  esac
  FOLDER=$FMONTH'_'$FYEAR
  mv -v "${FILE}" $FOLDER
done

This User Gave Thanks to methyl For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

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

2. UNIX for Dummies Questions & Answers

Move txt file to with current date appended to filename

I have multiple txt files which begin with the word "orders" in folder C:\source. I need to move the files to folder C:\dest and rename them to "process_<date>_<count>" So for example , if there are 3 files ordersa.txt , ordersb.txt and ordersc.txt in C:\source , after running the script I want... (7 Replies)
Discussion started by: johannd
7 Replies

3. Shell Programming and Scripting

Move txt file to with current date appended to filename

I have multiple txt files which begin with the word "orders" in folder C:\source. I need to move the files to folder C:\dest and rename them to "process_<date>_<count>" So for example , if there are 3 files ordersa.txt , ordersb.txt and ordersc.txt in C:\source , after running the script I want... (1 Reply)
Discussion started by: johannd
1 Replies

4. Shell Programming and Scripting

Move all files from source to destination directory based on the filename

Move all files starting with a specific name to different directory. This shell script program should have three parameters File Name Source Directory Destination Directory User should be able to enter ‘AB_CD*' in file name parameter. In this case all the files starting with AB_CD will... (1 Reply)
Discussion started by: chetancrsp18
1 Replies

5. Shell Programming and Scripting

Get the oldest date based on date in the filename

I am using ksh93 on Solaris. Ok, this may seem like a simple request at first. I have a directory that contains sets of files with a YYYYMMDD component to the name, along with other files of different filespecs. something like this: 20110501_1.dat 20110501_2.dat 20110501_3.dat... (2 Replies)
Discussion started by: gary_w
2 Replies

6. Shell Programming and Scripting

Move file based on filename

Hi All I need a script to manipulate files based on a filename: example filename: 66600_042706.pdf the script will create a directory 66000 only if this directory is not existing. If that directory is existing it will just move the file to 66000/666000_042706.pdf in addition, i want to... (4 Replies)
Discussion started by: aemestech
4 Replies

7. Shell Programming and Scripting

want to move files in a dir into different directories based on the filename

I want to move the files in a dir to different dirs based on their file names. Ex: i have 4 different files with name - CTS_NONE_10476031_MRL_PFT20081215a.txt CTS_NONE_10633009_MRL_PFT20091020a.txt CTS_NONE_10345673_MRL_PFT20081215a.txt CTS_NONE_10872456_MRL_PFT20091020a.txt and the 1st... (4 Replies)
Discussion started by: Sriranga
4 Replies

8. UNIX for Dummies Questions & Answers

want to move files in a dir into different directories based on the filename

I want to move the files in a dir to different dirs based on their file names. Ex: i have 4 different files with name - CTS_NONE_10476031_MRL_PFT20081215a.txt CTS_NONE_10633009_MRL_PFT20091020a.txt CTS_NONE_10345673_MRL_PFT20081215a.txt CTS_NONE_10872456_MRL_PFT20091020a.txt and the 1st... (2 Replies)
Discussion started by: Sriranga
2 Replies

9. UNIX for Dummies Questions & Answers

how to move files into different folders based on filename

I need to move a bunch of files into folders that have the same name. I wanted to either do this with some filter command or some type of batch file that I could save that would already include all of the mv commands since I will have to do this process often. Whatever method you think is easier. ... (7 Replies)
Discussion started by: italia5
7 Replies
Login or Register to Ask a Question