Is it true that find
is not supposed to be doing even the most simple path unification/simplifications operations, such as coalescing multiple successive slashes together (which would be equivalent to the original form)?
For example the output of find .///
is:
.///
.///somefile
[…]
(tested with find
from GNU and busybox
)
If so then why is that? Is there any sensible use case I'm missing? Perhaps for the case that someone is grepping the output of find
inside scripts?
BTW, Also interesting is the output of GNU's find for find ./// -maxdepth 0 -printf '%h\n'
(%h
is supposed to be "Leading directories of file's name (all but the last element and the slash before it)"): .//
(simply one fewer /
)
busybox
code size might also play a role. – phk Dec 30 '16 at 23:27////
to/
, or/./././
to/
orfoo/bar/..
tofoo
. Oh wait, that would be a bug, if bar say a symlink. So we would have to collapse in some cases and not in others. So I will restate the question, why does it not have more complex code to handle with special cases that don't need handling. – ctrl-alt-delor Jan 06 '17 at 16:57