Sponsored Content
Top Forums Shell Programming and Scripting List and Delete Files which are older than 7 days, but have white spaces in file name Post 302942245 by Don Cragun on Sunday 26th of April 2015 06:49:36 PM
Old 04-26-2015
If you want to test it without making any changes to the file hierarchy, put an echo in front of the rm:
Code:
find . \( -name ABC -prune \) -o \( -name XYZ -prune \) -o \( -name "*.__*" -mtime +60 -exec ls -lrt {} + -exec echo rm {} + \)

Note that with -exec ls -lrt {} \;, the -r and -t are meaningless. With -exec ls -lrt {} +, groups of files will be sorted in reverse time order; but there is no guarantee that all of the files you want to process will be processed by a single invocation of ls.

If the ls output and the echo output shows that it is selecting the files you want to remove, take out the echo to actually remove the selected files.

Note also that if you want to run slower and take more system resources, you can use -exec rm {} \; instead of -exec rm {} +, but you can't combine \; and \) into \;) as you did in your script.
 

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

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

7. Shell Programming and Scripting

Delete files older than 10 Days in a directory

Hi All I want to remove the files with name like data*.csv from the directory older than 10 days. If there is no files exists to remove older than 10 days, It should not do anything. Thanks Jo (9 Replies)
Discussion started by: rajeshjohney
9 Replies

8. UNIX for Advanced & Expert Users

Delete 5 days older files from sftp

As one of our requirement was to connect to remote Linux server through SFTP connection and delete some files which are older than 7 days. I used the below piece of code for that, SFTP_CONNECTION=`sftp user_id@host ... cd DESIRED_DIR; find /path/to/files* -mtime +5 -exec rm -rf {} \; bye... (2 Replies)
Discussion started by: ATWC
2 Replies

9. Linux

Finding files older than x days within directory with spaces

Hi, I am trying to run a command that finds all files over x amount of days, issue is one of the directories has spaces within it. find /files/target directory/*/* -type f -mtime +60 When running the above the usual error message is thrown back + find '/files/target\' 'directory/*/*' -type... (1 Reply)
Discussion started by: Ads89
1 Replies
EXEC(3) 								 1								   EXEC(3)

exec - Execute an external program

SYNOPSIS
string exec (string $command, [array &$output], [int &$return_var]) DESCRIPTION
exec(3) executes the given $command. PARAMETERS
o $command - The command that will be executed. o $output - If the $output argument is present, then the specified array will be filled with every line of output from the command. Trailing whitespace, such as , is not included in this array. Note that if the array already contains some elements, exec(3) will append to the end of the array. If you do not want the function to append elements, call unset(3) on the array before passing it to exec(3). o $return_var - If the $return_var argument is present along with the $output argument, then the return status of the executed command will be written to this variable. RETURN VALUES
The last line from the result of the command. If you need to execute a command and have all the data from the command passed directly back without any interference, use the passthru(3) function. To get the output of the executed command, be sure to set and use the $output parameter. EXAMPLES
Example #1 An exec(3) example <?php // outputs the username that owns the running php/httpd process // (on a system with the "whoami" executable in the path) echo exec('whoami'); ?> NOTES
Warning When allowing user-supplied data to be passed to this function, use escapeshellarg(3) or escapeshellcmd(3) to ensure that users can- not trick the system into executing arbitrary commands. Note If a program is started with this function, in order for it to continue running in the background, the output of the program must be redirected to a file or another output stream. Failing to do so will cause PHP to hang until the execution of the program ends. Note When safe mode is enabled, you can only execute files within the safe_mode_exec_dir. For practical reasons, it is currently not allowed to have .. components in the path to the executable. Warning With safe mode enabled, the command string is escaped with escapeshellcmd(3). Thus, echo y | echo x becomes echo y | echo x. SEE ALSO
system(3), passthru(3), escapeshellcmd(3), pcntl_exec(3), backtick operator. PHP Documentation Group EXEC(3)
All times are GMT -4. The time now is 06:45 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy