uutils/findutils

-printf: unrecognized %X / \X directives should warn and print literally, not be dropped or error

开放

#815 创建于 2026年8月7日

 (0 条评论) (0 个反应) (0 位负责人)Rust (96 个派生)user submission
good first issue

仓库指标

星标
 (635 个星标)
PR 合并指标
 (平均合并 26天 6小时) (30 天内合并 46 个 PR)

描述

GNU findutils treats an unrecognized -printf directive as a warning and prints the directive text verbatim, exiting 0. uutils/findutils diverges in two ways.

%X - the % is silently dropped

$ # GNU findutils 4.10.0
$ find d -printf '%€|\n'
find: warning: unrecognized format directive '%€'
%€|
$ echo $?
0

$ # uutils
$ find d -printf '%€|\n'
€|
$ echo $?
0

The % disappears. Same for the ASCII case, e.g. %q.

\X - uutils errors instead of warning

$ # GNU: warns, prints `\€`, exit 0
$ # uutils: hard error, exit 1

贡献者指南