bug-findutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [bug #61774] Docs for find -delete out of sync


From: James Youngman
Subject: Re: [bug #61774] Docs for find -delete out of sync
Date: Wed, 2 Feb 2022 13:47:13 +0000

On Mon, Jan 31, 2022 at 9:08 PM admin4 <admin4@dwaves.de> wrote:
> # DANGER! THIS DELETES ALL (!!!) FILES IN THE CURRENT DIRECTORY! (NOT ONLY 
> THE -name “*FILES*” SPECIFIED )
> find . -delete -name "*f25020672.avi*" <- why does it do that? it is like it 
> completely ignores anything after -delete X-D (and just deletes everything in 
> the current dir)
>

In theory, we could do this:


$ find . -delete -name "*f25020672.avi*"
find: warning: the test `-name "*f25020672.avi*"` does nothing because
no action depends on it.

... but all those files would still have been deleted.   However, the
documentation very deliberately and clearly points out this risk:

Warnings: Don't forget that the find command
line is evaluated as an  expression,  so
putting  -delete first will make find try to
delete everything below the starting points
you specified.   When testing  a  find  command
line that you later intend to use with -delete,
you should explicitly specify -depth in order  to
avoid later surprises.  Because -delete implies
-depth, you cannot usefully use -prune and
-delete together.

Beyond clearly documenting how to use the tool (which I think we do)
I'm not sure what to do about the risk that admin4 is pointing out.
Well, other than making the user pass a quiz on how to use it the
first time they invoke it, which isn't at all in the spirit of Unix
and would be hard to do in a POSIX-compliant way that wasn't deeply
user-surprising.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]