Delete File from Directories


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Delete File from Directories
# 1  
Old 08-17-2011
Delete File from Directories

Hi All,
I am trying to delete Files from a directory using the below command
find $/test/abc/xyz -mtime +30 -exec rm -f {} \;
The above command is deleting the files more than 30 days.
The problem is there are some subdirectories in xyz,
when i execute the above command its trying to delete the direcotires as well,
however its not having permission to do so, its giving an error saying
"No permission to delete the direcotry", So i am saved.
Is there a way i can exculde touching the directories and just delete the files.
Thanks in advance
# 2  
Old 08-17-2011
If I read your question correctly, you have files in the subdirectories that you do want to be deleted, but don't want to try to remove the directories themselves. If that is correct then try:

Code:
find $/test/abc/xyz -type f -mtime +30 -exec rm -f {} \;

which will only result in a true evaluation if the file is a regular file.

If you don't want to remove files in any directory below the current directory you'll need to add other options to the find.

Regardless, before running commands which remove things, it's always good form to test it with a harmless command:

Code:
find $/test/abc/xyz -type f -mtime +30 -exec echo rm -f {} \;

Shows you what the command would do and if you are sure that the command will only delete the things you want removed, then you can remove the echo and execute the command. This practice has saved my butt many times from having to recover files from backup because I fat fingered something in the command.
This User Gave Thanks to agama For This Post:
# 3  
Old 08-18-2011
Hi agama, Thanks a lot for your response....

---------- Post updated at 02:45 PM ---------- Previous update was at 10:02 AM ----------

when i am trying the below command

find /test/abc/xyx -type f -mtime +7 -exec rm -f {} \;

there are some subfolders in xyx for which i don't have permission to delete.

How do i exclude them.
# 4  
Old 08-19-2011
If the number of directories is small, you can hard code them with the prune option which will skip processing the directories and their contents. This example does not do anything with files in the foo or bar directories:

Code:
find .  -name foo -prune -o -name bar -prune -o -type f -exec echo rm {} \;

If you have more than a couple, you may be better off using the -group or -user flags to control which files are deleted. Check out the manual page for find -- it has useful examples and lists all of your options.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Delete duplicate directories?

Is there a way via some bash script or just cmd to find duplicate directories? i have main folders: TEST1 TEST2 In folder TEST1 is some amount of same folders as in folder TEST2 can be this done? i tried fdupe but it only search for dupe files not whle dirs thx! (8 Replies)
Discussion started by: ZerO13
8 Replies

2. Red Hat

How to delete only directories alone?

Hi, I need to delete (remove) only directories. How to achieve this? Plz help (4 Replies)
Discussion started by: karthick nath
4 Replies

3. Shell Programming and Scripting

Script to delete files with an input for directories and an input for path/file

Hello, I'm trying to figure out how best to approach this script, and I have very little experience, so I could use all the help I can get. :wall: I regularly need to delete files from many directories. A file with the same name may exist any number of times in different subdirectories.... (3 Replies)
Discussion started by: *ShadowCat*
3 Replies

4. Shell Programming and Scripting

Delete Directories

Hello All, My shell script runs everyday to update certain database. Everytime the script runs it creates a directory, with "current date". These directories contain log and data files: HOME_DIR/database_name/20120417/* HOME_DIR/database_name/20120416/*... (6 Replies)
Discussion started by: ad23
6 Replies

5. Shell Programming and Scripting

Script to delete old directories

Hi, I have a requirement like, I need to create the directory with date and time stap (i.e YYYYMMDDHMS) every day end need to delete the old directories which is 12 months old. I have tested with following script cd /export/home/sbeeravo/; find . -type d -mtime +365 -exec rm -rf {} \; ... (2 Replies)
Discussion started by: ShirishaReddy
2 Replies

6. Shell Programming and Scripting

Script to delete old directories

Hi I have 10 directories.I want to delete all the dicrectories except the three recent directories based on timestamp.I am new to BASH can u help me? (1 Reply)
Discussion started by: newuser_25
1 Replies

7. Shell Programming and Scripting

delete and check directories

hi im so sorry i do not have time im doing an urgent cleanup. I have to check on directories for example: /export/home/itbr /export/home/bscsmig there are more but i have the list. how do i write a ksh script in for loop to check those directories and delete display a message if it was... (1 Reply)
Discussion started by: sbavanis
1 Replies

8. UNIX for Dummies Questions & Answers

Delete Directories and Contents

How to delete all subdirectories and contents? oh, and if they are hard linked? (1 Reply)
Discussion started by: t4st33@mac.com
1 Replies

9. UNIX for Dummies Questions & Answers

Delete old home directories

I have a script that deletes obselete users from /etc/passwd then moves their home directories to another location. After 30 days, I need to delete the home directories that were moved to the new location. I would appreciate any ideas on how to delete the directories after the 30 days? (2 Replies)
Discussion started by: munch
2 Replies

10. Shell Programming and Scripting

need some help with a script to delete directories.

Hello, I need a hand with a script im trying to make. I have a directory /usr/db/mail with a bunch of subdirectories such as /usr/db/mail/domain1.com /usr/db/mail/domain2.com etc. etc. all of these directories in turn have sub directories of their own. What I need to do is search all of... (1 Reply)
Discussion started by: centrino
1 Replies
Login or Register to Ask a Question