tr - translate or delete characters
tr [OPTION]... STRING1 [STRING2]
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 occurrence of that character
- -t, --truncate-set1
- first truncate ARRAY1 to length of ARRAY2
- display this help and exit
- output version information and exit
ARRAYs are specified as strings of characters. Most represent themselves. Interpreted sequences are:
- character with octal value NNN (1 to 3 octal digits)
- audible BEL
- form feed
- new line
- horizontal tab
- vertical tab
- all characters from CHAR1 to CHAR2 in ascending order
- in ARRAY2, copies of CHAR until length of ARRAY1
- REPEAT copies of CHAR, REPEAT octal if starting with 0
- all letters and digits
- all letters
- all horizontal whitespace
- all control characters
- all digits
- all printable characters, not including space
- all lower case letters
- all printable characters, including space
- all punctuation characters
- all horizontal or vertical whitespace
- all upper case letters
- all hexadecimal digits
- 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.
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.
Written by Jim Meyering.
GNU coreutils online help:
Report any translation bugs to https://translationproject.org/team/
Copyright © 2023 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.
or available locally via: info '(coreutils) tr invocation'
|April 2023||GNU coreutils 9.3|