tr用來從標準輸入中通過替換或刪除操作進行字符轉換。tr主要用於刪除文件中控制字符或進行字符轉換。使用tr時要轉換兩個字符串:字符串1用於查詢,字符串2用於處理各種轉換。tr剛執行時,字符串1中的字符被映射到字符串2中的字符,然後轉換操作開始。 帶有最常用選項的tr命令格式為:tr -c -d -s ["string1_to_translate_from"] ["string2_to_translate_to"] < input-file這裡:-c 用字符串1中字符集的補集替換此字符集,要求字符集為ASCII。-d 刪除字符串1中所有輸入字符。-s 刪除所有重複出現字符序列,只保留第一個;即將重複出現字符串壓縮為一個字符串。input-file是轉換文件名。雖然可以使用其他格式輸入,但這種格式最常用。
字符範圍說明指定字符串1或字符串2的內容時,只能使用單字符或字符串範圍或列表。[a-z] a-z內的字符組成的字符串。[A-Z] A-Z內的字符組成的字符串。[0-9] 數字串。\octal 一個三位的八進制數,對應有效的ASCII字符。[O*n] 表示字符O重複出現指定次數n。因此[O*2]匹配OO的字符串。tr中特定控制字符的不同表達方式速記符含義八進制方式\a Ctrl-G 鈴聲\007\b Ctrl-H 退格符\010\f Ctrl-L 走行換頁\014\n Ctrl-J 新行\012\r Ctrl-M 回車\015\t Ctrl-I tab鍵\011\v Ctrl-X \030
工具/原料
Linux
tr命令
方法/步驟
下面是tr命令的manual,you can read it for reference.
TR(1) User Commands TR(1)
NAME
tr - translate or delete characters
SYNOPSIS
tr [OPTION]... SET1 [SET2]
DESCRIPTION
Translate, squeeze, and/or delete characters from standard input, writ-
ing to standard output.
-c, -C, --complement
use the complement of SET1
-d, --delete
delete characters in SET1, do not translate
-s, --squeeze-repeats
replace each input sequence of a repeated character that is
listed in SET1 with a single occurrence of that character
-t, --truncate-set1
first truncate SET1 to length of SET2
--help display this help and exit
--version
output version information and exit
SETs are specified as strings of characters. Most represent them-
selves. 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 SET2, copies of CHAR until length of SET1
[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 SET1 and SET2 appear.
-t may be used only when translating. SET2 is extended to length of
SET1 by repeating its last character as necessary. Excess characters
of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to
expand in ascending order; used in SET2 while translating, they may
only be used in pairs to specify case conversion. -s uses SET1 if not
translating nor deleting; else squeezing uses SET2 and occurs after
translation or deletion.
AUTHOR
Written by Jim Meyering.
REPORTING BUGS
Report tr bugs to [email protected]
GNU coreutils home page:
General help using GNU software:
Report tr translation bugs to
COPYRIGHT
Copyright 2010 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.
SEE ALSO
The full documentation for tr is maintained as a Texinfo manual. If
the info and tr programs are properly installed at your site, the com-
mand
info coreutils 'tr invocation'
should give you access to the complete manual.
GNU coreutils 8.4 June 2010 TR(1)