cleanname − clean a path name

cleanname [ ‐d pwd ] names...

For each file name argument, by lexical processing only,
prints the shortest equivalent string that names the same
(possibly hypothetical) file.  It eliminates multiple and
trailing slashes, and it lexically interprets .  and ..
directory components in the name.  If the ‐d option is
present, unrooted names are prefixed with before processing.