Unix/Linux Go Back    


OpenSolaris 2009.06 - man page for tr (opensolaris section 1)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)


tr(1)					  User Commands 				    tr(1)

NAME
       tr - translate characters

SYNOPSIS
       /usr/bin/tr [-cds] [string1 [string2]]

       /usr/xpg4/bin/tr [-cs] string1 string2

       /usr/xpg4/bin/tr -s | -d [-c] string1

       /usr/xpg4/bin/tr -ds [-c] string1 string2

       /usr/xpg6/bin/tr [-c | -C] [-s] string1 string2

       /usr/xpg6/bin/tr -s [-c | -C] string1

       /usr/xpg6/bin/tr -d [-c | -C] string1

       /usr/xpg6/bin/tr -ds [-c | -C] string1 string2

DESCRIPTION
       The tr utility copies the standard input to the standard output with substitution or dele-
       tion of selected characters. The options specified and the string1  and	string2  operands
       control	translations  that  occur while copying characters and single-character collating
       elements.

OPTIONS
       The following options are supported:

       -c    Complements the set of values specified by string1.

       -C    Complements the set of characters specified by string1.

       -d    Deletes all occurrences of input characters that are specified by string1.

       -s    Replaces instances of repeated characters with a single character.

       When the -d option is not specified:

	   o	  Each input character found in the array specified by string1 is replaced by the
		  character in the same relative position in the array specified by string2. When
		  the array specified by string2 is shorter than the one  specified  by  string1,
		  the results are unspecified.

	   o	  If  the  -c  option  is  specified,  the complements of the values specified by
		  string1 are placed in the array in ascending order by binary value.

	   o	  If the -C option is specified, the complements of the characters  specified  by
		  string1  (the set of all characters in the current character set, as defined by
		  the current setting of LC_CTYPE, except for those  actually  specified  in  the
		  string1  operand)  are  placed in the array in ascending collation sequence, as
		  defined by the current setting of LC_COLLATE.

	   o	  Because the order in which characters specified by character class  expressions
		  or  equivalence class expressions is undefined, such expressions should only be
		  used if the intent is to map several characters into one. An exception is  case
		  conversion, as described previously.

       When the -d option is specified:

	   o	  Input characters found in the array specified by string1 are deleted.

	   o	  When	the  -C option is specified with -d, all values except those specified by
		  string1 are deleted. The contents of string2 are ignored, unless the -s  option
		  is also specified.

	   o	  If  the  -c  option  is  specified,  the complements of the values specified by
		  string1 are placed in the array in ascending order by binary value.

	   o	  The same string cannot be used for both the -d and the  -s  option.  When  both
		  options  are	specified, both string1 (used for deletion) and string2 (used for
		  squeezing) are required.

       When the -s option is specified, after any deletions or	translations  have  taken  place,
       repeated sequences of the same character is replaced by one occurrence of the same charac-
       ter, if the character is found in the array specified by the last operand. If the last op-
       erand contains a character class, such as the following example:

	 tr -s '[:space:]'

       the  last operand's array contains all of the characters in that character class. However,
       in a case conversion, as described previously, such as

	 tr -s '[:upper:]' '[:lower:]'

       the last operand's array contains only those characters defined as the  second  characters
       in  each  of  the toupper or tolower character pairs, as appropriate. (See toupper(3C) and
       tolower(3C)).

       An empty string used for string1 or string2 produces undefined results.

OPERANDS
       The following operands are supported:

       string1	  Translation control strings. Each string represents a set of characters  to  be
       string2	  converted into an array of characters used for the translation.

       The  operands string1 and string2 (if specified) define two arrays of characters. The con-
       structs in the following list can be used to specify characters or  single-character  col-
       lating elements. If any of the constructs result in multi-character collating elements, tr
       excludes, without a diagnostic, those multi-character elements from the resulting array.

       character      Any character not described by one  of  the  conventions	below  represents
		      itself.

       \octal	      Octal  sequences	can  be  used to represent characters with specific coded
		      values. An octal sequence consists of a backslash followed by  the  longest
		      sequence	of  one-,  two-,  or three-octal-digit characters(01234567). The
		      sequence causes the character whose encoding is represented  by  the  one-,
		      two-  or	three-digit octal integer to be placed into the array. Multi-byte
		      characters require multiple, concatenated escape sequences  of  this  type,
		      including the leading \ for each byte.

       \character     The  backslash-escape  sequences	\a,  \b,  \f, \n, \r, \t, and \v are sup-
		      ported. The results of using any	other  character,  other  than	an  octal
		      digit, following the backslash are unspecified.

   /usr/xpg4/bin/tr
       c-c

   /usr/bin/tr
       [c-c]	    In	the  POSIX  locale, this construct represents the range of collating ele-
		    ments between the range endpoints (as long as neither endpoint  is	an  octal
		    sequence  of  the  form  \octal),  inclusively,  as  defined by the collation
		    sequence. The characters or collating elements in the range are placed in the
		    array  in  ascending  collation sequence. If the second endpoint precedes the
		    starting endpoint in the collation sequence, it is	unspecified  whether  the
		    range  of  collating  elements  is	empty,	or  this  construct is treated as
		    invalid. In locales other than the POSIX locale, this construct has  unspeci-
		    fied behavior.

		    If	either	or  both  of  the range endpoints are octal sequences of the form
		    \octal, represents the range of specific  coded  binary  values  between  two
		    range endpoints, inclusively.

       [:class:]    Represents	all  characters  belonging  to	the  defined  character class, as
		    defined by the current setting of the LC_CTYPE locale category. The following
		    character class names are accepted when specified in string1:

		      alnum  blank  digit  lower  punct  upper
		      alpha  cntrl  graph  print  space  xdigit

		    In	addition, character class expressions of the form [:name:] are recognized
		    in those locales where the name keyword has been given a charclass definition
		    in the LC_CTYPE category.

		    When  both	the  -d  and -s options are specified, any of the character class
		    names are accepted in string2. Otherwise, only character class names lower or
		    upper are valid in string2 and then only if the corresponding character class
		    upper and lower, respectively, is specified in the same relative position  in
		    string1.  Such  a  specification is interpreted as a request for case conver-
		    sion. When [:lower:] appears in string1 and [:upper:] appears in string2, the
		    arrays  contain the characters from the toupper mapping in the LC_CTYPE cate-
		    gory of the current locale. When [:upper:] appears in string1  and	[:lower:]
		    appears  in  string2, the arrays contain the characters from the tolower map-
		    ping in the LC_CTYPE category of the current locale. The first character from
		    each  mapping  pair is in the array for string1 and the second character from
		    each mapping pair is in the array for string2 in the same relative position.

		    Except for case conversion, the characters specified  by  a  character  class
		    expression are placed in the array in an unspecified order.

		    If	the  name  specified for class does not define a valid character class in
		    the current locale, the behavior is undefined.

       [=equiv=]    Represents all characters or collating elements belonging to the same equiva-
		    lence  class  as  equiv,  as defined by the current setting of the LC_COLLATE
		    locale category. An equivalence class expression is allowed only in  string1,
		    or	in  string2  when it is being used by the combined -d and -s options. The
		    characters belonging to the equivalence class are placed in the array  in  an
		    unspecified order.

       [x*n]	    Represents n repeated occurrences of the character x. Because this expression
		    is used to map multiple characters to one, it is only valid when it occurs in
		    string2.  If  n has a leading 0, it is interpreted	as an octal value. Other-
		    wise, it is interpreted as a decimal value.

		    If	n  is  omitted	or  is	0,   /usr/bin/tr   interprets	this   as   huge;
		    /usr/xpg4/bin/tr  and  /usr/xpg6/bin/tr  interprets  this  as large enough to
		    extend thestring2-based sequence to the length of the string1-based sequence.

USAGE
       See largefile(5) for the description of the behavior of tr when encountering files greater
       than or equal to 2 Gbyte ( 2^31 bytes).

EXAMPLES
       Example 1 Creating a list of words

       The following example creates a list of all words in file1, one per line in file2, where a
       word is taken to be a maximal string of letters.

	 tr -cs "[:alpha:]" "[\n*]" <file1 >file2

       Example 2 Translating characters

       This example translates all lower-case characters in file1 to upper-case  and  writes  the
       results to standard output.

	 tr "[:lower:]" "[:upper:]" <file1

       Notice  that  the  caveat  expressed  in the corresponding example in XPG3 is no longer in
       effect. This case conversion is now a special case that employs the  tolower  and  toupper
       classifications,  ensuring  that  proper  mapping is accomplished (when the locale is cor-
       rectly defined).

       Example 3 Identifying equivalent characters

       This example uses an equivalence class to identify accented variants of the base character
       e in file1, which are stripped of diacritical marks and written to file2.

	 tr "[=e=]" e <file1 >file2

ENVIRONMENT VARIABLES
       See  environ(5)	for  descriptions  of the following environment variables that affect the
       execution of tr: LANG, LC_ALL, LC_COLLATE, LC_CTYPE, LC_MESSAGES, and NLSPATH.

EXIT STATUS
       The following exit values are returned:

       0     All input was processed successfully.

       >0    An error occurred.

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

   /usr/bin/tr
       +-----------------------------+-----------------------------+
       |      ATTRIBUTE TYPE	     |	    ATTRIBUTE VALUE	   |
       +-----------------------------+-----------------------------+
       |Availability		     |SUNWcsu			   |
       +-----------------------------+-----------------------------+
       |CSI			     |Enabled			   |
       +-----------------------------+-----------------------------+

   /usr/xpg4/bin/tr
       +-----------------------------+-----------------------------+
       |      ATTRIBUTE TYPE	     |	    ATTRIBUTE VALUE	   |
       +-----------------------------+-----------------------------+
       |Availability		     |SUNWxcu4			   |
       +-----------------------------+-----------------------------+
       |CSI			     |Enabled			   |
       +-----------------------------+-----------------------------+
       |Interface Stability	     |Committed 		   |
       +-----------------------------+-----------------------------+
       |Standard		     |See standards(5). 	   |
       +-----------------------------+-----------------------------+

   /usr/xpg6/bin/tr
       +-----------------------------+-----------------------------+
       |      ATTRIBUTE TYPE	     |	    ATTRIBUTE VALUE	   |
       +-----------------------------+-----------------------------+
       |Availability		     |SUNWxcu6			   |
       +-----------------------------+-----------------------------+
       |CSI			     |Enabled			   |
       +-----------------------------+-----------------------------+
       |Interface Stability	     |Committed 		   |
       +-----------------------------+-----------------------------+
       |Standard		     |See standards(5). 	   |
       +-----------------------------+-----------------------------+

SEE ALSO
       ed(1), sed(1),  sh(1),  tolower(3C),  toupper(3C),  ascii(5),  attributes(5),  environ(5),
       largefile(5), regex(5), standards(5)

NOTES
       Unlike  some previous versions, /usr/xpg4/bin/tr correctly processes NUL characters in its
       input stream. NUL characters can be stripped by using tr -d '\000'.

SunOS 5.11				    3 Mar 2009					    tr(1)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums


All times are GMT -4. The time now is 07:19 AM.