Sponsored Content
Top Forums Shell Programming and Scripting Need last month files after 10th of every month Post 302909661 by rbatte1 on Friday 18th of July 2014 06:26:26 AM
Old 07-18-2014
Quote:
Originally Posted by nani1984
Code:
AUTO_F1_20140610.TXT -- this file , i received on 06/10/2014---June/10/2014
LA_AUTO_06112014.TXT -- this file , i received on 06/11/2014---June/11/2014

so i received the above files on 10 & 11th of June.
we can receive files in any format , either YYYYMMDD or DDMMYYYY.
Okay, now I'm a little confused as you say the files are one thing then your format is another.
I think it safest to assume you really mean it's either YYYYMMDD or MMDDYYYY

Consider this rather bald code:-
Code:
# Set the three values for the current date
date +'%Y %M %D' | read Cur_Y Cur_M Cur_D

target_dir=/tmp/${Cur_Y}_${Cur_M}      # Not sure where you want to put them

# Get last month's numeric value
((LastM=$Cur_M=1))

if [ $Last_M -eq 0 ]                   # Have we gone back from January?
then
   Last_M=12                           # Set to December
   ((Last_Y=$Cur_Y-1))                 # Take one from year
else
   Last_Y=$Cur_Y
fi

# Process files based on the expression and the date range we need
for file in ?UTO_??_${Last_Y}${Last_M}[1-3][0-9].TXT ??_?UTO_${Last_M}[1-3][0-9]${Last_Y}.TXT
do
   printf "Found file \"$file\" to move.\n"
   mv $file $target_dir
done

The last bit looks frightful Smilie but it's really just glueing the various variables together. It is looking for files in the current directory matching the two expressions. Looking at the first one, we have:-
  • ? representing any single character
  • UTO_ as literal text
  • ?? any two characters
  • _ as literal text
  • ${Last_Y}${Last_M} being the value of the two variables. The braces explicitly mark the variable names
  • [1-3][0-9] literal character 1 followed by any character from the range zero to nine, i.e. the day is 10th to 39th (if they exist
  • .TXT as literal text
Apart from calling the date command, these are all processed within the shell, so if you have lots of files, you don't have the overhead of repeatedly calling external programs which can slow you down considerably.



Does this get you somewhere towards your need? Apologies if I've missed the point.




Robin
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Find all files by month

Hi, I am trying to do achieving of files by months. find /test -name \*.* -mtime +30 will give me the result of all modified files after 30 days. But lets say i want to list all files that is modified in last months... what is the command to do it? Thanks! (13 Replies)
Discussion started by: maldini
13 Replies

2. Shell Programming and Scripting

How to get previous month files

Hi, My task to to delete files which are of previous months. I have files named as follows *CCYYMMDD.xls. on a particular day i have delete previous months files i.e in Dec i have delete all nov files which look like 200511DD.XLS in Jan i have to delete all Dec files 200512DD.xls ... (7 Replies)
Discussion started by: savitha
7 Replies

3. HP-UX

deleting files for a particular month

Hi, I want to delete files of a particular month in a particular directory. Please tell me a script for this so that it will search a particular kind of file in that directory and delete them.I am using HP-UX. (1 Reply)
Discussion started by: adityam
1 Replies

4. UNIX for Dummies Questions & Answers

print previous month (current month minus 1) with Solaris date and ksh

Hi folks month=`date +%m`gives current month Howto print previous month (current month minus 1) with Solaris date and ksh (7 Replies)
Discussion started by: slashdotweenie
7 Replies

5. Shell Programming and Scripting

How to delete1 month old files?

Hi, I need to create a script which should delete all the log files which are 1 month old or older than that. For ex: Today's date -- > 09/30/2010 Directory --> /user/work/log/ Files--> log.07182010 created on 07/18/2010 log.08182010 created on 08/18/2010 log.09182010 ... (4 Replies)
Discussion started by: ustechie
4 Replies

6. Shell Programming and Scripting

Script to counting a specific word in a logfile on each day of this month, last month etc

Hello All, I am trying to come up with a shell script to count a specific word in a logfile on each day of this month, last month and the month before. I need to produce this report and email it to customer. Any ideas would be appreciated! (5 Replies)
Discussion started by: pnara2
5 Replies

7. HP-UX

Removing files from a particular month

Hi All I am trying to remove files from february, only using the following commands: find . -mtime 70 -exec rm {} \;, but I dont seem to get them deleted. But I am confused, now, because I have been told to use -atime, like find . -atime 75 -exec rm {} \;Please can you help! FR (8 Replies)
Discussion started by: fretagi
8 Replies

8. Shell Programming and Scripting

Convert From Month Number to Month Name

Hi, I have a script that accepts an input date from the user in yyyy-mm-dd format. I need to get the mm-dd part and convert it to month name. example: 2011-11-15 I want that to become "Nov 15" I don't have the GNU date, I am using an AIX os. Thanks. (1 Reply)
Discussion started by: erin00
1 Replies

9. Shell Programming and Scripting

How to add decimal month to some month in sql, php, perl, bash, sh?

Hello, i`m looking for some way to add to some date an partial number of months, for example to 2015y 02m 27d + 2,54m i need to write this script in php or bash or sh or mysql or perl in normal time o unix time i`m asking or there are any simple way to add partial number of month to some... (14 Replies)
Discussion started by: bacarrdy
14 Replies

10. UNIX for Advanced & Expert Users

Get last month files

Hi All, How to get last month files. Ex : 1st Jan i have to get Dec 31 days files and on Feb 1st i have to get Jan 31 days files and on Mar 1st i have to get Feb 28 days files. Below are the example files with date and timestamp. aaa.txt.timestamp aaa.txt.timestamp aaa.txt.timestamp Please... (7 Replies)
Discussion started by: kiranparsha
7 Replies
All times are GMT -4. The time now is 11:16 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy