Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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  AR-
     RAY1 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 occurrence 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 instead of plain tr.

AUTHOR
     Written by Jim Meyering.

REPORTING BUGS
     Report bugs to: bug-coreutils@gnu.org
     GNU coreutils home page: <https://www.gnu.org/software/coreutils/>
     General help using GNU software: <https://www.gnu.org/gethelp/>
     Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT
     Copyright	(C) 2025 Free Software Foundation, Inc.  License GPLv3+: GNU GPL
     version 3 or later <https://gnu.org/licenses/gpl.html>.
     This is free software: you are free to change and redistribute  it.   There
     is NO WARRANTY, to the extent permitted by law.

SEE ALSO
     Full documentation <https://www.gnu.org/software/coreutils/tr>
     or available locally via: info '(coreutils) tr invocation'

GNU coreutils 9.9		  November 2025 			   TR(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=gtr&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help