The -depth parameter to "find" should start from the deepest level and work up.
I can see potential issues with "rm -rf" on a directory name because it deletes that directory too.
Personally I have not issued "rm -rf" in years. There is always a safer and more predictable method where you first produce a list to review.
Me too. The issue with "find" and {} or '{}' regarding arguments containing space characters has been evident for many years. Having examined the source code of a current unix "find" there is no reason to quote {}. However in my experence it is sometimes necessary to quote '{}'. This board has experienced posters who could resolve this issue. With current shells it has to be something to do with context.
Definitely.
As far as efficiency is concerned,
one could reduce further the fork/exec storm:
- use + instead of \; to make it work like xargs (n at a time):
(I believe that -f is not needed in a non interactive sessions, i.e. cron)
or, if the + syntax is not supported:
- pipe the output to xargs, like already suggested
---------- Post updated at 09:03 AM ---------- Previous update was at 08:56 AM ----------
Quote:
Originally Posted by methyl
[...]
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 {}.
[...[
Yep,
I remember that discussion very well,
that's why I asked for details
And that's why I suggested the depth option, to see if the filename really matters.
The issue with "find" and {} or '{}' regarding arguments containing space characters has been evident for many years.
or has been a urban legend for many years, depending on who you ask ...
Quote:
Having examined the source code of a current unix "find" there is no reason to quote {}.
You are still missing these quotes are stripped off by the shell before the braces are passed to the find command and so there is no much point in expecting them to have an effect on the find command itself. The only reason to quote them would be to use a shell that has a special interpretation of these curly braces, but there is no such beast around.
Quote:
However in my experence it is sometimes necessary to quote '{}'. This board has experienced posters who could resolve this issue.
There is no such evidence I'm aware of.
Anyway, back to the open poster issue, it would be interesting to get a reproducible use case to figure out why xargs work where find alone doesn't.
I'm especially interested seeing what display these three commands:
and
[...]
The only reason to quote them would be to use a shell that has a special interpretation of these curly braces, but there is no such beast around.
This is not true:
I think you'll get the same or similar error with es.
Quote:
There is no such evidence I'm aware of.
[...]
As already demonstrated in the older thread:
Last edited by radoulov; 03-16-2010 at 05:32 PM..
Reason: Adjusted the quoted part.
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)