Sponsored Content
Top Forums Shell Programming and Scripting Script to delete files older than x days and also taking an input for multiple paths Post 302711117 by Don Cragun on Friday 5th of October 2012 11:50:19 AM
Old 10-05-2012
There are several ways to do this. Assuming there are no whitespace characters in any of the directory names in the list of directories in your text file, the following is probably the shortest:
Code:
find $(cat dirlist.txt) -type d ! -name . -prune -o -mtime +$Num_days -name "*.csv" -exec rm {} \;

If there might be space or tab characters in directory names:
Code:
saveIFS="$IFS"
IFS=""
while read dir
do find "$dir" -type d ! -name . -prune -o -mtime +$Num_days -name "*.csv" -exec rm {} \;
done < dirlist.txt
IFS="$saveIFS"

If there are any newline characters in the directory names in your list, you have my sympathy and will not be able to use anything that has a newline separated list of directories (i.e., a text file) to store the directory list.

Last edited by Don Cragun; 10-05-2012 at 12:50 PM.. Reason: fix typo
This User Gave Thanks to Don Cragun For This Post:
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

delete files older than 7 days

can anyone tell me how I would write a script in ksh on AIX that will delete files in a directory older than 7 days? (1 Reply)
Discussion started by: lesstjm
1 Replies

2. UNIX for Dummies Questions & Answers

How can I delete files older than 7 days?

I will like to write a script that delete all files that are older than 7 days in a directory and it's subdirectories. Can any one help me out witht the magic command or script? Thanks in advance, Odogboly98:confused: (3 Replies)
Discussion started by: odogbolu98
3 Replies

3. UNIX for Dummies Questions & Answers

Delete files older than 30 days

This is driving me crazy. How can I delete files in a specifc directory that are over 30 days old? Thanks in advance. (3 Replies)
Discussion started by: tlphillips
3 Replies

4. Shell Programming and Scripting

delete files more than 15 days older

i have to delete files which are older than 15 days or more except the ones in the directory Current and also *.sh files i have found the command for files 15 days or more older find . -type f -mtime +15 -exec ls -ltr {} \; but how to implement the logic to avoid directory Current and also... (3 Replies)
Discussion started by: ali560045
3 Replies

5. Shell Programming and Scripting

Delete files older than 2 days using shell script in Unix

I'm new to shell script.... can any one help... What is the shell script to delete the files older than 2 days ? (3 Replies)
Discussion started by: satishpabba
3 Replies

6. Solaris

Delete files older than 30 days

Hi all, I want to delete log files with extension .log which are older than 30 days. How to delete those files? Operating system -- Sun solaris 10 Your input is highly appreciated. Thanks in advance. Regards, Williams (2 Replies)
Discussion started by: William1482
2 Replies

7. Shell Programming and Scripting

Delete files older than X days.

Hi All, I am using below code to delete files older than 2 days. In case if there are no files, I should log an error saying no files to delete. Please let me know, How I can achive this. find /path/*.xml -mtime +2 Thanks and Regards Nagaraja. (3 Replies)
Discussion started by: Nagaraja Akkiva
3 Replies

8. Shell Programming and Scripting

Script to delete files in a folder older than 2 days

hi i need a script to delete the files older than 2 days... if my input is say in a folder versions A_14122012.txt A_15122012.txt A_16122012.txt A_17122012.txt i want my output to be A_16122012.txt A_17122012.txt thanks in advance hemanth saikumar. (2 Replies)
Discussion started by: hemanthsaikumar
2 Replies

9. Shell Programming and Scripting

Find files not matching multiple patterns and then delete anything older than 10 days

Hi, I have multiple files in my log folder. e.g: a_m1.log b_1.log c_1.log d_1.log b_2.log c_2.log d_2.log e_m1.log a_m2.log e_m2.log I need to keep latest 10 instances of each file. I can write multiple find commands but looking if it is possible in one line. m file are monthly... (4 Replies)
Discussion started by: wahi80
4 Replies
CAT(1)							      General Commands Manual							    CAT(1)

NAME
cat, read, nobs - catenate files SYNOPSIS
cat [ file ... ] read [ -m ] [ -n nline ] [ file ... ] nobs [ file ... ] DESCRIPTION
Cat reads each file in sequence and writes it on the standard output. Thus cat file prints a file and cat file1 file2 >file3 concatenates the first two files and places the result on the third. If no file is given, cat reads from the standard input. Output is buffered in blocks matching the input. Read copies to standard output exactly one line from the named file, default standard input. It is useful in interactive rc(1) scripts. The -m flag causes it to continue reading and writing multiple lines until end of file; -n causes it to read no more than nline lines. Read always executes a single write for each line of input, which can be helpful when preparing input to programs that expect line-at-a- time data. It never reads any more data from the input than it prints to the output. Nobs copies the named files to standard output except that it removes all backspace characters and the characters that precede them. It is useful to use as $PAGER with the Unix version of man(1) when run inside a win (see acme(1)) window. SOURCE
/src/cmd/cat.c /src/cmd/read.c /bin/nobs SEE ALSO
cp(1) DIAGNOSTICS
Read exits with status eof on end of file or, in the -n case, if it doesn't read nlines lines. BUGS
Beware of and which destroy input files before reading them. CAT(1)
All times are GMT -4. The time now is 06:10 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy