bug#81442: Documentation Deficiency: printf man page lacks definition of format specifiers

Pádraig Brady <[email protected]> Wed, 22 Jul 2026 13:05:01 +0100
Newsgroups gmane.comp.gnu.core-utils.bugs
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--------------i0soKh0vvLoFVT308iwg95jK
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

> On 20/07/2026 17:10, Pádraig Brady wrote:
>> The "see also" has a reference to printf(3),
>> which you can drill down to directly depending on you man page viewer,
>> or view directly with `man 3 printf`.
>>
>> But I agree we should show that reference directly in the text.
>>
>> We need to be careful not to repeat too much info from the (large) printf(3) page,
>> but I also agree that we could provide a little more info here.
>>
>> I'll look at:
>>
>> Using our recently improved man table formatting to present a conversion summary.
>> Including at least mentioning that flags are supported.
>> Also an EXAMPLES section would be useful here I think to show supported combinations.
I'll apply the attached later, which adds:

   CONVERSION   Shell format example       Output

   %s          '[%10s]' 'left pad'         [  left pad]
   %s          '[%-10s]' 'right pad'       [right pad ]
   %c %s       '%c %.3s' un unibyte        u uni
   %d %i       "%'d ;%i04i" 1234 '-1'      1,234 ;-001
   %o          '%#o' $((2#110100100))      0644
   %u          '%u' 0xFFFFFFFF             4294967295
   %x          '0x%08x' 11259375           0x00abcdef
   %a %f       '%1$a %1$f' 0.0009765625    0x8p-13 0.000977
   %e %f       '%1$e %1$f' 123.45678       1.234568e+02 123.456789
   %g          '%1$g %1$.2g' 1.2345678e3   1234.57 1.2e+03
   %b          '%b' 'food\bbar'            foobar
   %q          '%q ' 'a' ';b' $'c\n'       a ';b' 'c'$'\n'


Marking this as done.

cheers,
Padraig
--------------i0soKh0vvLoFVT308iwg95jK
Content-Type: text/x-patch; charset=UTF-8; name="printf-usage.patch"
Content-Disposition: attachment; filename="printf-usage.patch"
Content-Transfer-Encoding: base64

RnJvbSA4OGY5NWIzYmI0YmRiZWRmYTRiM2JkNmJlYzU2YWQ4MWJiNGUwODIwIE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/UD1DMz1BMWRyYWlnPTIwQnJhZHk/
PSA8UEBkcmFpZ0JyYWR5LmNvbT4KRGF0ZTogV2VkLCAyMiBKdWwgMjAyNiAxMjo0OTo1MiAr
MDEwMApTdWJqZWN0OiBbUEFUQ0hdIGRvYzogcHJpbnRmOiBwcm92aWRlIHVzYWdlIGV4YW1w
bGVzCgoqIHNyYy9wcmludGYuYyAodXNhZ2UpOiBMaXN0IGV4YW1wbGVzIGZvciBlYWNoIHN1
cHBvcnRlZApjb252ZXJzaW9uIHNwZWNpZmllci4KKiBkb2MvY29yZXV0aWxzLnRleGkgKHBy
aW50ZiBpbnZvY2F0aW9uKTogTGlrZXdpc2UuCkFkZHJlc3NlcyBodHRwczovL2J1Z3MuZ251
Lm9yZy84MTQ0MgotLS0KIGRvYy9jb3JldXRpbHMudGV4aSB8IDI2ICsrKysrKysrKysrKysr
KysrKysrKysrKystCiBzcmMvcHJpbnRmLmMgICAgICAgfCAyNSArKysrKysrKysrKysrKysr
KysrKysrKy0tCiAyIGZpbGVzIGNoYW5nZWQsIDQ4IGluc2VydGlvbnMoKyksIDMgZGVsZXRp
b25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL2NvcmV1dGlscy50ZXhpIGIvZG9jL2NvcmV1dGls
cy50ZXhpCmluZGV4IDUwYWZhOTlmYy4uMmRlZWMyMzRhIDEwMDY0NAotLS0gYS9kb2MvY29y
ZXV0aWxzLnRleGkKKysrIGIvZG9jL2NvcmV1dGlscy50ZXhpCkBAIC0xMjk1MSwxMiArMTI5
NTEsMzYgQEAgYW5kIEMgbGFuZ3VhZ2UgZXNjYXBlIHNlcXVlbmNlIHByb2Nlc3NpbmcuCiBA
eHJlZntPdXRwdXQgQ29udmVyc2lvbiBTeW50YXgsLCBAY29tbWFuZHtwcmludGZ9IGZvcm1h
dCBkaXJlY3RpdmVzLAogbGliYywgVGhlIEdOVSBDIExpYnJhcnkgUmVmZXJlbmNlIE1hbnVh
bH0sIGZvciBkZXRhaWxzLgogU2VlIGFsc28gQHVyZWZ7aHR0cHM6Ly9lbi5jcHByZWZlcmVu
Y2UuY29tL3cvYy9sYW5ndWFnZS9lc2NhcGUsCi1DOTkgc3RyaW5nIGVzY2FwZXM6fS4gIFRo
ZSBkaWZmZXJlbmNlcyBhcmUgbGlzdGVkIGJlbG93LgorQzk5IHN0cmluZyBlc2NhcGVzOn0u
CisKK0V4YW1wbGVzIG9mIHN1cHBvcnRlZCBjb252ZXJzaW9uIHNwZWNpZmllcnMgYW5kIGZs
YWdzIGFyZToKKworQGV4YW1wbGUKK0NPTlZFUlNJT04gIFNoZWxsIGZvcm1hdCBleGFtcGxl
ICAgICAgICBPdXRwdXQKKworJXMgICAgICAgICAgJ1slMTBzXScgJ2xlZnQgcGFkJyAgICAg
ICAgIFsgIGxlZnQgcGFkXQorJXMgICAgICAgICAgJ1slLTEwc10nICdyaWdodCBwYWQnICAg
ICAgIFtyaWdodCBwYWQgXQorJWMgJXMgICAgICAgJyVjICUuM3MnIHVuIHVuaWJ5dGUgICAg
ICAgIHUgdW5pCislZCAlaSAgICAgICAiJSdkIDslaTA0aSIgMTIzNCAnLTEnICAgICAgMSwy
MzQgOy0wMDEKKyVvICAgICAgICAgICclI28nICQoKDIjMTEwMTAwMTAwKSkgICAgICAwNjQ0
CisldSAgICAgICAgICAnJXUnIDB4RkZGRkZGRkYgICAgICAgICAgICAgNDI5NDk2NzI5NQor
JXggICAgICAgICAgJzB4JTA4eCcgMTEyNTkzNzUgICAgICAgICAgIDB4MDBhYmNkZWYKKyVh
ICVmICAgICAgICclMSRhICUxJGYnIDAuMDAwOTc2NTYyNSAgICAweDhwLTEzIDAuMDAwOTc3
CislZSAlZiAgICAgICAnJTEkZSAlMSRmJyAxMjMuNDU2NzggICAgICAgMS4yMzQ1NjhlKzAy
IDEyMy40NTY3ODkKKyVnICAgICAgICAgICclMSRnICUxJC4yZycgMS4yMzQ1Njc4ZTMgICAx
MjM0LjU3IDEuMmUrMDMKKyViICAgICAgICAgICclYicgJ2Zvb2RcYmJhcicgICAgICAgICAg
ICBmb29iYXIKKyVxICAgICAgICAgICclcSAnICdhJyAnO2InICQnY1xuJyAgICAgICBhICc7
YicgJ2MnJCdcbicKK0BlbmQgZXhhbXBsZQogCiBAbWF5Q29uZmxpY3RXaXRoU2hlbGxCdWls
dElue3ByaW50Zn0KIAorVGhlIGRpZmZlcmVuY2VzIGZyb20gdGhlIEMgQHNhbXB7cHJpbnRm
fSBmdW5jdGlvbiBhcmU6CisKIEBpdGVtaXplIEBidWxsZXQKIAorQGl0ZW0KK09ubHkgdGhl
IEBzYW1we2Rpb3V4WGZhQWVFZ0djc30gY29udmVyc2lvbiBzcGVjaWZpZXJzIGFyZSBzdXBw
b3J0ZWQuCisKIEBpdGVtCiBUaGUgQHZhcntmb3JtYXR9IGFyZ3VtZW50IGlzIHJldXNlZCBh
cyBuZWNlc3NhcnkgdG8gY29udmVydCBhbGwgdGhlCiBnaXZlbiBAdmFye2FyZ3VtZW50fXMu
ICBGb3IgZXhhbXBsZSwgdGhlIGNvbW1hbmQgQHNhbXB7cHJpbnRmICVzIGEgYn0KZGlmZiAt
LWdpdCBhL3NyYy9wcmludGYuYyBiL3NyYy9wcmludGYuYwppbmRleCA1ZmI0YzdjODYuLjU3
ZTY1Y2I0YSAxMDA2NDQKLS0tIGEvc3JjL3ByaW50Zi5jCisrKyBiL3NyYy9wcmludGYuYwpA
QCAtOTIsOCArOTIsMjkgQEAgRk9STUFUIGNvbnRyb2xzIHRoZSBvdXRwdXQgYXMgaW4gQyBw
cmludGYuICBJbnRlcnByZXRlZCBzZXF1ZW5jZXMgYXJlOlxuXAogICAlcSAgICAgIEFSR1VN
RU5UIGlzIHByaW50ZWQgaW4gYSBmb3JtYXQgdGhhdCBjYW4gYmUgcmV1c2VkIGFzIHNoZWxs
IGlucHV0LFxuXAogICAgICAgICAgIGVzY2FwaW5nIG5vbi1wcmludGFibGUgY2hhcmFjdGVy
cyB3aXRoIHRoZSBQT1NJWCAkJycgc3ludGF4XAogXG5cblwKLWFuZCBhbGwgQyBmb3JtYXQg
c3BlY2lmaWNhdGlvbnMgZW5kaW5nIHdpdGggb25lIG9mIGRpb3V4WGZlRWdHY3MsIHdpdGhc
blwKLUFSR1VNRU5UcyBjb252ZXJ0ZWQgdG8gcHJvcGVyIHR5cGUgZmlyc3QuICBWYXJpYWJs
ZSB3aWR0aHMgYXJlIGhhbmRsZWQuXG5cCithbmQgYWxsIEMgcHJpbnRmKDMpIGZvcm1hdCBz
cGVjaWZpY2F0aW9ucyBlbmRpbmcgd2l0aCBvbmUgb2YgZGlvdXhYZmFBZUVnR2NzLFxuXAor
d2l0aCBBUkdVTUVOVHMgY29udmVydGVkIHRvIHByb3BlciB0eXBlIGZpcnN0LlxuXAorIiks
IHN0ZG91dCk7CisgICAgICBmcHV0cyAoXygiXAorRk9STUFUIGlzIHJldXNlZCB0byBjb252
ZXJ0IGFsbCBzcGVjaWZpZWQgYXJndW1lbnRzLlxuXAorIiksIHN0ZG91dCk7CisgICAgICBm
cHV0cyAoXygiXAorVGhlIGZvbGxvd2luZyB0YWJsZSBzaG93cyBleGFtcGxlcyBvZiBzdXBw
b3J0ZWQgY29udmVyc2lvbiBzcGVjaWZpZXJzLFxuXAoraW5jbHVkaW5nIHVzYWdlIG9mIHdp
ZHRoLCBwcmVjaXNpb24sIGFuZCBmbGFncy5cblwKK1xuXAorICBDT05WRVJTSU9OICBTaGVs
bCBmb3JtYXQgZXhhbXBsZSAgICAgICAgT3V0cHV0XG5cCisgICVzICAgICAgICAgICdbJTEw
c10nICdsZWZ0IHBhZCcgICAgICAgICBbICBsZWZ0IHBhZF1cblwKKyAgJXMgICAgICAgICAg
J1slLTEwc10nICdyaWdodCBwYWQnICAgICAgIFtyaWdodCBwYWQgXVxuXAorICAlYyAlcyAg
ICAgICAnJWMgJS4zcycgdW4gdW5pYnl0ZSAgICAgICAgdSB1bmlcblwKKyAgJWQgJWkgICAg
ICAgXCIlJ2QgOyVpMDRpXCIgMTIzNCAnLTEnICAgICAgMSwyMzQgOy0wMDFcblwKKyAgJW8g
ICAgICAgICAgJyUjbycgJCgoMiMxMTAxMDAxMDApKSAgICAgIDA2NDRcblwKKyAgJXUgICAg
ICAgICAgJyV1JyAweEZGRkZGRkZGICAgICAgICAgICAgIDQyOTQ5NjcyOTVcblwKKyAgJXgg
ICAgICAgICAgJzB4JTA4eCcgMTEyNTkzNzUgICAgICAgICAgIDB4MDBhYmNkZWZcblwKKyAg
JWEgJWYgICAgICAgJyUxJGEgJTEkZicgMC4wMDA5NzY1NjI1ICAgIDB4OHAtMTMgMC4wMDA5
NzdcblwKKyAgJWUgJWYgICAgICAgJyUxJGUgJTEkZicgMTIzLjQ1Njc4ICAgICAgIDEuMjM0
NTY4ZSswMiAxMjMuNDU2Nzg5XG5cCisgICVnICAgICAgICAgICclMSRnICUxJC4yZycgMS4y
MzQ1Njc4ZTMgICAxMjM0LjU3IDEuMmUrMDNcblwKKyAgJWIgICAgICAgICAgJyViJyAnZm9v
ZFxcYmJhcicgICAgICAgICAgICBmb29iYXJcblwKKyAgJXEgICAgICAgICAgJyVxICcgJ2En
ICc7YicgJCdjXFxuJyAgICAgICBhICc7YicgJ2MnJCdcXG4nXG5cCiAiKSwgc3Rkb3V0KTsK
ICAgICAgIHByaW50ZiAoVVNBR0VfQlVJTFRJTl9XQVJOSU5HLCBQUk9HUkFNX05BTUUpOwog
ICAgICAgZW1pdF9hbmNpbGxhcnlfaW5mbyAoUFJPR1JBTV9OQU1FKTsKLS0gCjIuNTUuMAoK


--------------i0soKh0vvLoFVT308iwg95jK--