Sponsored Content
Top Forums Shell Programming and Scripting Need last month files after 10th of every month Post 302909733 by Don Cragun on Friday 18th of July 2014 04:56:26 PM
Old 07-18-2014
There seems to be a lot of complicated processing going on for something that seems pretty simple. I'm also not sure that I understand which files are to be moved. If you run your script on the last day of July, is it supposed to move files dated June 10-30, or files dated July 10-31?

I think you said you want to move June files if you run it in July, so try something like the following:
Code:
#!/bin/ksh
cd /path/to/source/directory

# Get current month and year:
read m y <<-EOF
	$(date +'%m %Y')
EOF
# Calculate previous monht:
if [ $m = 01 ]
then	m=12
	y=$((y - 1))
else	m=$(printf '%02d' $((${m#0} - 1)))
fi

# Move files with names of the form *MMDDYYYY.TXT and *YYYYMMDD.TXT where MM
# and YYYY match the previous month and DD matches a day >= 10 to a new
# directory.
echo mv *$m[1-3][0-9]$y.TXT *$y$m[1-3][0-9].TXT /path/to/destination/directory

If you want it to remove July files when you run it in July, remove the code in red and change previous in the comment to current.

This was tested with ksh but will also work with bash or any other shell that supports POSIX shell parameter expansions, command substitution, and arithmetic expansions. If the echo shows that the right list of files are being passed to mv, remove the echo on the last line of the script to actually move the files. When running this script any time in July 2014 with the list of files you provided in the 1st message in this thread, the above script produces the output:
Code:
mv LA_AUTO_06112014.TXT MA_AUTO_06212014.TXT ZA_AUTO_06232014.TXT AUTO_F1_20140610.TXT BUTO_F1_20140616.TXT /path/to/destination/directory

If there are too many files to move, the mv could fail due to ARG_MAX limits. If this is a problem in your situation, there are several ways to work around it.
 

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
RMF(1)								     [nmh-1.5]								    RMF(1)

NAME
rmf - remove an nmh folder SYNOPSIS
rmf [+folder] [-interactive | -nointeractive] [-version] [-help] DESCRIPTION
Rmf removes all of the messages (files) within the specified (or default) folder, and then removes the folder (directory) itself. If there are any files within the folder which are not a part of nmh, they will not be removed, and an error will be produced. If the folder is given explicitly or the -nointeractive option is given, then the folder will be removed without confirmation. Otherwise, the user will be asked for confirmation. If rmf can't find the current folder, for some reason, the folder to be removed defaults to `+inbox' (unless overridden by user's profile entry "Inbox") with confirmation. If the folder being removed is a subfolder, the parent folder will become the new current folder, and rmf will produce a message telling the user this has happened. This provides an easy mechanism for selecting a set of messages, operating on the list, then removing the list and returning to the current folder from which the list was extracted. If rmf s used on a read-only folder, it will delete all the (private) sequences (i.e., "atr-seq-folder" entries) for this folder from your context without affecting the folder itself. Rmf irreversibly deletes messages that don't have other links, so use it with caution. FILES
$HOME/.mh_profile The user profile PROFILE COMPONENTS
Path: To determine the user's nmh directory Current-Folder: To find the default current folder Inbox: To find the default inbox SEE ALSO
rmm(1) DEFAULTS
`+folder' defaults to the current folder, usually with confirmation `-interactive' if +folder' not given, `-nointeractive' otherwise CONTEXT
Rmf will set the current folder to the parent folder if a subfolder is removed; or if the current folder is removed, it will make "inbox" current. Otherwise, it doesn't change the current folder or message. BUGS
Although intuitively one would suspect that rmf works recursively, it does not. Hence if you have a sub-folder within a folder, in order to rmf the parent, you must first rmf each of the children. MH.6.8 11 June 2012 RMF(1)
All times are GMT -4. The time now is 07:52 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy