tech-userlevel archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: printf(1), sh(1), POSIX.2 and octal escape sequences
On Wed, 28 Jun 2023, tlaronde%polynum.com@localhost wrote:
But you can't: from the syntax given, \777 is a perfectly valid \77
octal sequence followed by the character '7'.
That would be a very surprising way to resolve the ambiguity which is
present here. There are others when it comes to octal notation:
Single-digit octal escapes can be confused with regexp back-references, so
POSIX says octal escapes must have at least 2 digits in certain situations.
As for resolving \777 as \777 and not \77'7 is this note in the EXTENDED
DESCRIPTION for tr(1) (I knew I had read this somewhere in my travels through
POSIX-land):
\octal
Octal sequences can be used to represent characters with specific
coded values. An octal sequence shall consist of a <backslash>
followed by the _longest_ sequence of one, two, or three-octal-digit
characters (01234567).
(my emphasis)
What's good for the goose is also good for the gander, I say.
Cheers!
-RVP
Home |
Main Index |
Thread Index |
Old Index