積丹尼 Dan Jacobson <jida...@jidanni.org> writes: > All I know is you need to document "in this case, find, for some reason, > needs to needlessly check the directory is still there after the command > it invokes exits, therefore one needs to add -depth" (I don't recall > Unix find(1) had such weird habits.) > > Anyway, this "quirk" is not in the INFO manual.
Actually, it is in the info manual. The default logic of find is that it walks the file tree in "preorder", that is, it examines each directory before examining the items in the directory. Each examination involves executing the operations the command line specifies. The issue you see arises when the operations delete the directory, because after executing the operations for the directory, find attempts to list the items in the directory and discovers that (unexpectedly) the directory doesn't exist. As Andreas Metzler noted, the texinfo manual says that in this situation you probably want to use -depth, so a directory is examined (and removed) after find lists its contents and walks them. See the various places -depth and -prune are mentioned in the manual; they make clear what the processing logic is. Dale