On 11/21/20 2:18 PM, Reuben Thomas via Bug reports for the GNU find utilities wrote: > The manual (current git) says: > > True if the time of the last access (or status change or data modification) >> of the current file is more recent than that of the last data modification >> of the @var{reference} file. >> > > Presumably it really means: > > True if the time of the last access (or status change or data modification) > of the current file is more recent than that of the @var{reference} file. > > In other words, like is compared with like, it's not always the mtime of > the reference file that is used.
Yes, it is: the code uses get_stat_mtime() on the reference file for all 3 variants: * parse_anewer: https://git.savannah.gnu.org/cgit/findutils.git/tree/find/parser.c?id=cc5d59382f#n790 * parse_cnewer: https://git.savannah.gnu.org/cgit/findutils.git/tree/find/parser.c?id=cc5d59382f#n825 * parse_newer: https://git.savannah.gnu.org/cgit/findutils.git/tree/find/parser.c?id=cc5d59382f#n1513 As such, the documentation is correctly describing find's behavior. -anewer and -cnewer are a GNU extension, so it's not specified by POSIX how find should behave. FWIW: it seems e.g. FreeBSD's find behaves the same. Have a nice day, Berny