find -exec directories with spaces


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting find -exec directories with spaces
# 8  
Old 03-12-2010
Quote:
Originally Posted by radoulov
You can try:

Code:
... -exec rm -rf '{}' \;

... but I still don't think that the problem is the space in the directory name.
Rad, It does work for any directories without a space so I know the code works, but only doesn't work for directories with a space.

I'll give your code a try!
# 9  
Old 03-12-2010
Try this:

Code:
find /path -mindepth 3 -type d -print0 | xargs -0 rm -rf

# 10  
Old 03-12-2010
Fractionally off topic.
@radoulov and markdjones82 .

After a debate a while back with jlliagre on the subject of quoting '{}' please do post whether quoting '{}' works in this circumstance. It would be my solution but it would also mean that this version of "find" is considered abnormal or that the shell is misbehaving with the braces {}.

Please post what shell you are using. I'd assume it would be bash but it doesn't have to be.

Is the "find" typed at the command prompt or within a script?
# 11  
Old 03-12-2010
The command with '{}' did not work and I am running it from the BASH command line and in a crontab entry.

drew k's command did work however. Thanks drew!
# 12  
Old 03-12-2010
Thank you markdjones82 for your response.
It is clear that this is not a '{}' issue.


Quote:
find /home/chroot/marketing/ -mindepth 3 -type d -exec rm -rf {} \;
find: /home/chroot/marketing/user/download/Fake Name: No such file or directory
I believe that the issue was that directory
/home/chroot/marketing/user
and its subdirectories was deleted before the attempt to delete
/home/chroot/marketing/user/download/Fake Name

The suggestion to use "-depth" was a good idea.
# 13  
Old 03-12-2010
Quote:
Originally Posted by methyl
Thank you markdjones82 for your response.
It is clear that this is not a '{}' issue.




I believe that the issue was that directory
/home/chroot/marketing/user
and its subdirectories was deleted before the attempt to delete
/home/chroot/marketing/user/download/Fake Name

The suggestion to use "-depth" was a good idea.
Yeah I tried -depth and it also did not work :/ What exactly does depth do again?
# 14  
Old 03-12-2010
If the problem was that rm cannot find the file, the error message would begin with "rm:" not "find:". find doesn't invoke a shell to execute the rm command and so there is no field splitting. The issue as I can reproduce here is that find finds the directory, correctly execs the rm which removes the directory, and then when find tries to descend into that directory to look for others it prints that error message because the directory is no longer there. radoulov's suggestion to use -depth fixes that by telling find to descend into directories first before processing the directory itself. In this case, that's inefficient since the directory is going to be removed anyway. A better option would be -prune.

Code:
find /home/chroot/marketing/ -mindepth 3 -type d -prune -exec rm -rf {} \;

Regards,
Alister
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Directories having spaces

Hi I have a list file with complete path of files and there are directories with spaces. Now when i read the list file, read the line and read the file it says no file found because of the space. How can I get through this issues for file in $(<list_file.txt) do first_line=`head -1... (8 Replies)
Discussion started by: lijjumathew
8 Replies

2. Shell Programming and Scripting

Directories with spaces

My code path=`find /root/folder/ -maxdepth 100 -type d | sort --random-sort | head -1` if this returns a directory with spaces in for instance: /root/folder/this is a folder is there a way to replace the value of path with the same value but with the spaces replaced so its... (2 Replies)
Discussion started by: digitalviking
2 Replies

3. Shell Programming and Scripting

find: missing argument to `-exec' while redirecting using find in perl

Hi Friends, Please help me to sort out this problem, I am running this in centos o/s and whenever I run this script I am getting "find: missing argument to `-exec' " but when I run the same code in the command line I didn't find any problem. I am using perl script to run this ... (2 Replies)
Discussion started by: ramkumarselvam
2 Replies

4. UNIX for Dummies Questions & Answers

Using grep command to find the pattern of text in all directories and sub-directories.

Hi all, Using grep command, i want to find the pattern of text in all directories and sub-directories. e.g: if i want to search for a pattern named "parmeter", i used the command grep -i "param" ../* is this correct? (1 Reply)
Discussion started by: vinothrajan55
1 Replies

5. UNIX for Dummies Questions & Answers

Find Exec

Hello All, Is there a way to make exec do a couple of operations on a single input from find? For example, find . -type d -exec ls -l "{}" ";" I would like to give the result of each "ls -l" in the above to a wc. Is that possible? I want to ls -l | wc -l inside... (1 Reply)
Discussion started by: prasanna1157
1 Replies

6. Shell Programming and Scripting

How to find 777 permisson is there or not for Directories and sub-directories

Hi All, I am Oracle Apps Tech guy, I have a requirement to find 777 permission is there or not for all Folders and Sub-folders Under APPL_TOP (Folder/directory) with below conditions i) the directory names should start with xx..... (like xxau,xxcfi,xxcca...etc) and exclude the directory... (11 Replies)
Discussion started by: gagan4599
11 Replies

7. Shell Programming and Scripting

Script to find folders with spaces and end of files and directories

Hi I need a script that can search through a set of directories and can locate any file or directory that has a space at the end Filename(space) Foldername(space) I then need to remove that space within the script Hope someone can help thanks in advance Treds (8 Replies)
Discussion started by: treds
8 Replies

8. Shell Programming and Scripting

find & dirname:problems with white spaces in Directories

Hi all, my problem: (little extract from my bash-script) I want to move each file (.mov) from one directory (and many Subdirectories) to another directory (only one); after moving i want to create hardlinks to the old directories. Thatīs no problem, but now: source-directories... (4 Replies)
Discussion started by: tubian
4 Replies

9. Shell Programming and Scripting

Directories with spaces in name - looking for help with questions in that issue

I need to work with 'nice' directory names which have some spaces in name, and that brings some questions and not-understanding. Would some expert help me out how to deal with that?! My task is to document some processing, running from some script. I do need to have spaces in directories... (2 Replies)
Discussion started by: alex_5161
2 Replies

10. UNIX for Advanced & Expert Users

find and exec

Hi, Happy new year. Would you be so kind to explain me what does this instruction : find /rep/app -type l -exec ls -l {} \;> allink.lst Many thanks. (2 Replies)
Discussion started by: big123456
2 Replies
Login or Register to Ask a Question