Shell Scripting , Moving Old file to specific folder


 
Thread Tools Search this Thread
Operating Systems Linux Ubuntu Shell Scripting , Moving Old file to specific folder
# 1  
Old 09-14-2014
Shell Scripting , Moving Old file to specific folder

There are files stored like 14.Aug.2014.log, 15.Aug.2014.log etc. in a folder $HOME/logyou need to find out all the log files of last 1 month and move them into $HOME/logs/lastmonth/

this should be implemented with reference of file name.




---------- Post updated at 12:30 PM ---------- Previous update was at 12:00 PM ----------

Sol.
Code:
#!/bin/bash
date_30_days=`date --date="30 days ago" +"%Y%m%d"`
#echo $date_30_days
for file_date in *.log ;
do
        echo $file_date
        file_date_format=`echo $file_date|awk -F '.' '{ print $1 " " $2" "$3}'`
        file_date_numeric=`date -d "$file_date_format" +%Y%m%d`
        #echo $file_date_numeric
        if [ $date_30_days -ge $file_date_numeric ]; then
                mv $file_date ./lastmonth/$file_date
        else
                echo "NO OLD FILES"
        fi



but for above solution my boss has said that

What if there are lakhs of log files in that directory.

Can you think of a way to iterate not more than 30 times?

This is not efficient.
Can some one suggest me to proper way for this

Last edited by Don Cragun; 09-14-2014 at 04:51 AM.. Reason: Add CODE and ICODE tags.
# 2  
Old 09-14-2014
Is this a homework assignment?

If you have hundreds of thousands of files in a single directory, you have more problems than a script like this will fix. But, running date and awk once for every file in a directory (even if there are only a few files in that directory) is very inefficient when it could all be done with one invocation of awk to process all of the files in the directory.

The script you have provided is incomplete
# 3  
Old 09-15-2014
Thank you.

Dear Sir,
thanks for your kind reply.

Yes its assignment.

So, Can you please help me to solve the assignment. is it my approach is wrong

the main problem which I am feeling in solving is the File name is date format which is string and date comparison can be possible only in Numeric format.

And I am new to the Shell scripting can you guide.

sorry, If I am wrong in explanation/ approach.
# 4  
Old 09-15-2014
Do not post classroom or homework problems in the main forums. Homework and coursework questions can only be posted in this forum under special homework rules.

Please review the rules, which you agreed to when you registered, if you have not already done so.

Please review the guidelines for posting homework and repost.

This thread is closed.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Shell scripting for moving folder specific files into target directory of that country folder.

I need help to write shell script to copy files from one server to another server. Source Directory UAE(inside i have another folder Misc with files inside UAE folder).I have to copy this to another server UAE folder( Files should be copied to UAE folder and Misc files should be copied in target... (3 Replies)
Discussion started by: naresh2389
3 Replies

2. Homework & Coursework Questions

Shell Scripting , Moving Old file to specific folder

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: There are files stored like 14.Aug.2014.log, 15.Aug.2014.log etc. in a folder $HOME/log you need to find out all... (4 Replies)
Discussion started by: shajoftaj
4 Replies

3. Shell Programming and Scripting

Shell scripting-I need a script which should watch a directory for a file with specific directory

I need a script which should watch a directory for a file with specific directory. If it finds a file in directory, it should search for few specific keyword in the file. if the keyword exists, it should trim string from specific column. The file should be moved to another directory and the a... (8 Replies)
Discussion started by: akashdeepak
8 Replies

4. Programming

Perl - Moving file based upon filesize in folder

Hi I'm trying to look through a series of directories in A folder, lets just call it A: for example: A/1 A/2 A/3 Etc and I wish to move the files in the folder if they are bigger than a certain size into a structure like below: A/TooBig/1 A/TooSmall/1 A/TooBig/2 A/TooSmall/2... (1 Reply)
Discussion started by: PerlNewbRP
1 Replies

5. Shell Programming and Scripting

Shell Script for moving 3 days old file to Archive Folder

Hi Experts, I have a "Source" folder which may contain some files. I need a shell script which should move all files which are older than 3 days to "Archive" folder. Thanks in Advance... (4 Replies)
Discussion started by: phani333
4 Replies

6. Shell Programming and Scripting

How to copy specific file.txt in specific folder?

hye there... i have a problem to copy file in specific folder that will change the name according to host,time(%m%s) and date(%Y%M%D) example folder name: host_20100531.154101801 this folder name will always change... but i just want to copy the AAA.txt and BBB.txt file.. really need... (17 Replies)
Discussion started by: annetote
17 Replies

7. Shell Programming and Scripting

Moving 100K file to another folder using 1 command

Hi, I need to move 1000s of files from one folder to another. Actually there are 100K+ files. Source dir : source1 Target dir : target1 Now if try cp or mv commands I am getting an error message : Argument List too long. I tried to do it by the time the files are created in the source... (6 Replies)
Discussion started by: unx100
6 Replies

8. UNIX for Dummies Questions & Answers

moving file from one folder to another

i have created file in one of the folders on unix UNIX 's36tou -T XYZ /tmp/p400/dataout/ias/AB >/dev/null I am using above command to copy file from one system to unix XYZ is name of file on my system usually this name is very big so i use -T to trim some charaters from name. noe... (1 Reply)
Discussion started by: ajit.yadav83
1 Replies

9. Shell Programming and Scripting

shell script for moving all the file from the same folder

Hi , I need a shell script which basicaly moves all the files from one folder say folder x to folder y and once they are moved to folder y a datetimestamp should be attached to there name for ex file a should be moved to y folder and renamed as a_20081015 (1 Reply)
Discussion started by: viv1
1 Replies

10. Shell Programming and Scripting

moving a file to a new folder and automated ftp

how to move a file to a different folder after an automated FTP . (1 Reply)
Discussion started by: dineshr85
1 Replies
Login or Register to Ask a Question