As printf expects the format and arguments as separate arguments, split the string accordingly. This is already fixed in the HTML version of the standard. --- man-pages-posix-2017/man1p/read.1p | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/man-pages-posix-2017/man1p/read.1p b/man-pages-posix-2017/man1p/read.1p index e09b896..d7e3a0a 100644 --- a/man-pages-posix-2017/man1p/read.1p +++ b/man-pages-posix-2017/man1p/read.1p @@ -196,7 +196,7 @@ The following command: while read -r xx yy do - printf "%s %s\en$yy$xx" + printf "%s %s\en" "$yy" "$xx" done < \fIinput_file\fR .fi .P -- 2.39.1