STANNIX Community


Manual: gnutr

TR(1)							User Commands						       TR(1)

NAME
       tr - translate or delete characters

SYNOPSIS
       tr [OPTION]... STRING1 [STRING2]

DESCRIPTION
       Translate,  squeeze,  and/or  delete characters from standard input, writing to standard output.	 STRING1 and STRING2
       specify arrays of characters ARRAY1 and ARRAY2 that control the action.

       -c, -C, --complement
	      use the complement of ARRAY1

       -d, --delete
	      delete characters in ARRAY1, do not translate

       -s, --squeeze-repeats
	      replace each sequence of a repeated character that is listed in the last specified ARRAY, with a single occur‐
	      rence of that character

       -t, --truncate-set1
	      first truncate ARRAY1 to length of ARRAY2

       --help display this help and exit

       --version
	      output version information and exit

       ARRAYs are specified as strings of characters.  Most represent themselves.  Interpreted sequences are:

       \NNN   character with octal value NNN (1 to 3 octal digits)

       \\     backslash

       \a     audible BEL

       \b     backspace

       \f     form feed

       \n     new line

       \r     return

       \t     horizontal tab

       \v     vertical tab

       CHAR1-CHAR2
	      all characters from CHAR1 to CHAR2 in ascending order

       [CHAR*]
	      in ARRAY2, copies of CHAR until length of ARRAY1

       [CHAR*REPEAT]
	      REPEAT copies of CHAR, REPEAT octal if starting with 0

       [:alnum:]
	      all letters and digits

       [:alpha:]
	      all letters

       [:blank:]
	      all horizontal whitespace

       [:cntrl:]
	      all control characters

       [:digit:]
	      all digits

       [:graph:]
	      all printable characters, not including space

       [:lower:]
	      all lower case letters

       [:print:]
	      all printable characters, including space

       [:punct:]
	      all punctuation characters

       [:space:]
	      all horizontal or vertical whitespace

       [:upper:]
	      all upper case letters

       [:xdigit:]
	      all hexadecimal digits

       [=CHAR=]
	      all characters which are equivalent to CHAR

       Translation occurs if -d is not given and both STRING1 and STRING2 appear.  -t is only significant when	translating.
       ARRAY2 is extended to length of ARRAY1 by repeating its last character as necessary.  Excess characters of ARRAY2 are
       ignored.	  Character  classes  expand in unspecified order; while translating, [:lower:] and [:upper:] may be used in
       pairs to specify case conversion.  Squeezing occurs after translation or deletion.

BUGS
       Full support is available only for safe single-byte locales, in which every possible input byte represents  a  single
       character.   The C locale is safe in GNU systems, so you can avoid this issue in the shell by running LC_ALL=C tr in‐
       stead of plain tr.

AUTHOR
       Written by Jim Meyering.

REPORTING BUGS
       GNU coreutils online help: 
       Report any translation bugs to 

SEE ALSO
       Full documentation 
       or available locally via: info '(coreutils) tr invocation'

       Packaged by Ubuntu (9.7-3ubuntu2)
       Copyright © 2025 Free Software Foundation, Inc.
       License GPLv3+: GNU GPL version 3 or later .
       This is free software: you are free to change and redistribute it.
       There is NO WARRANTY, to the extent permitted by law.

GNU coreutils 9.7					January 2026						       TR(1)