=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tr/tr.1,v retrieving revision 1.3 retrieving revision 1.4 diff -c -r1.3 -r1.4 *** src/usr.bin/tr/tr.1 1998/10/30 00:24:40 1.3 --- src/usr.bin/tr/tr.1 1999/04/30 06:24:25 1.4 *************** *** 1,4 **** ! .\" $OpenBSD: tr.1,v 1.3 1998/10/30 00:24:40 aaron Exp $ .\" $NetBSD: tr.1,v 1.5 1994/12/07 08:35:13 jtc Exp $ .\" .\" Copyright (c) 1991, 1993 --- 1,4 ---- ! .\" $OpenBSD: tr.1,v 1.4 1999/04/30 06:24:25 pjanzen Exp $ .\" $NetBSD: tr.1,v 1.5 1994/12/07 08:35:13 jtc Exp $ .\" .\" Copyright (c) 1991, 1993 *************** *** 69,76 **** .Bl -tag -width Ds .It Fl c Complements the set of characters in ! .Ar string1 , ! that is ``-c ab'' includes every character except for ``a'' and ``b''. .It Fl d The .Fl d --- 69,81 ---- .Bl -tag -width Ds .It Fl c Complements the set of characters in ! .Ar string1 ; ! for instance, ! .Dq -c\ ab ! includes every character except for ! .Dq a ! and ! .Dq b . .It Fl d The .Fl d *************** *** 134,140 **** Any character not described by one of the following conventions represents itself. .It \eoctal ! A backslash followed by 1, 2 or 3 octal digits represents a character with that encoded value. To follow an octal sequence with a digit as a character, left zero-pad the octal sequence to the full 3 octal digits. --- 139,145 ---- Any character not described by one of the following conventions represents itself. .It \eoctal ! A backslash followed by 1, 2, or 3 octal digits represents a character with that encoded value. To follow an octal sequence with a digit as a character, left zero-pad the octal sequence to the full 3 octal digits. *************** *** 189,197 **** \." and vice-versa) is specified in the same relative position in \." .Ar string1 . \." .Pp ! With the exception of the ``upper'' and ``lower'' classes, characters in the classes are in unspecified order. ! In the ``upper'' and ``lower'' classes, characters are entered in ascending order. .Pp For specific information as to which ASCII characters are included --- 194,210 ---- \." and vice-versa) is specified in the same relative position in \." .Ar string1 . \." .Pp ! With the exception of the ! .Dq upper ! and ! .Dq lower ! classes, characters in the classes are in unspecified order. ! In the ! .Dq upper ! and ! .Dq lower ! classes, characters are entered in ascending order. .Pp For specific information as to which ASCII characters are included *************** *** 205,212 **** If there is a secondary ordering within the equivalence class, the characters are ordered in ascending sequence. ! Otherwise, they are ordered after their encoded values. ! An example of an equivalence class might be ``c'' and ``ch'' in Spanish; English has no equivalence classes. .It [#*n] Represents --- 218,229 ---- If there is a secondary ordering within the equivalence class, the characters are ordered in ascending sequence. ! Otherwise, they are ordered after their encoded values. ! An example of an equivalence class might be ! .Dq c ! and ! .Dq ch ! in Spanish; English has no equivalence classes. .It [#*n] Represents *************** *** 224,230 **** .Ar string1 . If .Ar n ! has a leading zero, it is interpreted as an octal value, otherwise, it's interpreted as a decimal value. .El .Pp --- 241,247 ---- .Ar string1 . If .Ar n ! has a leading zero, it is interpreted as an octal value; otherwise, it's interpreted as a decimal value. .El .Pp *************** *** 248,278 **** .D1 Li "tr -cd \*q[:print:]\*q < file1" .Sh COMPATIBILITY System V has historically implemented character ranges using the syntax ! ``[c-c]'' instead of the ``c-c'' used by historic BSD implementations and standardized by POSIX. System V shell scripts should work under this implementation as long as the range is intended to map in another range, i.e. the command ! ``tr [a-z] [A-Z]'' will work as it will map the ``['' character in .Ar string1 ! to the ``['' character in .Ar string2 . However, if the shell script is deleting or squeezing characters as in ! the command ``tr -d [a-z]'', the characters ``['' and ``]'' will be ! included in the deletion or compression list which would not have happened under an historic System V implementation. ! Additionally, any scripts that depended on the sequence ``a-z'' to ! represent the three characters ``a'', ``-'' and ``z'' will have to be ! rewritten as ``a\e-z''. .Pp The .Nm tr utility has historically not permitted the manipulation of NUL bytes in ! its input and, additionally, stripped NUL's from its input stream. This implementation has removed this behavior as a bug. .Pp The .Nm tr ! utility has historically been extremely forgiving of syntax errors, for example, the .Fl c and --- 265,315 ---- .D1 Li "tr -cd \*q[:print:]\*q < file1" .Sh COMPATIBILITY System V has historically implemented character ranges using the syntax ! .Dq [c-c] ! instead of the ! .Dq c-c ! used by historic BSD implementations and standardized by POSIX. System V shell scripts should work under this implementation as long as the range is intended to map in another range, i.e. the command ! .Dq tr\ [a-z]\ [A-Z] ! will work as it will map the ! .Dq [ ! character in .Ar string1 ! to the ! .Dq [ ! character in .Ar string2 . However, if the shell script is deleting or squeezing characters as in ! the command ! .Dq tr\ -d\ [a-z] , ! the characters ! .Dq [ ! and ! .Dq \] ! will be ! included in the deletion or compression list, which would not have happened under an historic System V implementation. ! Additionally, any scripts that depended on the sequence ! .Dq a-z ! to represent the three characters ! .Dq a , ! .Dq - , ! and ! .Dq z ! will have to be rewritten as ! .Dq a\e-z . .Pp The .Nm tr utility has historically not permitted the manipulation of NUL bytes in ! its input and, additionally, has stripped NUL's from its input stream. This implementation has removed this behavior as a bug. .Pp The .Nm tr ! utility has historically been extremely forgiving of syntax errors: for example, the .Fl c and *************** *** 293,296 **** .Ar string1 is permitted by POSIX but is not required. Shell scripts attempting to be portable to other POSIX systems should use ! the ``[#*]'' convention instead of relying on this behavior. --- 330,335 ---- .Ar string1 is permitted by POSIX but is not required. Shell scripts attempting to be portable to other POSIX systems should use ! the ! .Dq [#*] ! convention instead of relying on this behavior.