From 8a5e89bccf04d2d838f96bb063fb3f84f73f980f Mon Sep 17 00:00:00 2001 From: Elliott Hughes Date: Sat, 31 Aug 2019 21:27:55 -0700 Subject: find: support -printf \0 octal escapes and \c. I think when I wrote this I tested the named escapes like \n and hex escapes, and when I found \x wasn't supported I didn't even think of octal. And I only learned about \c when I was looking at echo and printf to compare their escape implementations a few weeks back. Add the missing escapes and corresponding tests. Fixes #139. --- tests/find.test | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'tests/find.test') diff --git a/tests/find.test b/tests/find.test index 1f59149b..9129a605 100755 --- a/tests/find.test +++ b/tests/find.test @@ -101,6 +101,13 @@ testing "-iwholename glob" "find dir -iwholename 'dIr*E'" "dir/file\n" "" "" testing "-printf" "find dir -name file -printf '%f %p %P %s'" \ "file dir/file file 0" "" "" testing "-printf .N" "find dir -name file -printf %.2f" "fi" "" "" +# findutils find supports C letter escapes and \0 octal, but not \x or \u. +testing "-printf escapes" \ + "find dir -name file -printf '\0 \007 \t \079' | xxd -p" \ + "0020072009200739\n" "" "" +# findutils find treats \c as "no more output from this -printf", not "no more +# output from find". +testing "-printf \\c escape" "find dir -name f* -printf 'x\cy'" "xx" "" "" # No error message for a dangling link. ln -s does-not-exist dir/dangler -- cgit v1.2.3