分类: LINUX
2008-05-03 22:02:46
tr 转换,压缩,截短,删除字符 tr [option].....set1 [set2] 参数: -d,--delete 删除字符串1中的字符,不进行转换。 -s,--squeeze-repeats 将重复出现字符串压缩为一个字符串。 -t,--truncate-set1 将字符串1的长度截成字符串2的长度。 -c,--complement 取字符串1的补集。要求字符集为ASCII。 --help 打印帮助。 --version 显示版主信息。 转义字符如下: \NNN 字符的八进制码 \\ 反斜线 \a BELL响铃 \b 空格 \c 不打印新行符 \n 新行 \r 回车 \t 横向跳格 \v 坚向跳格 字符模式: CHAR1-CHAR2 表示从字符CHAR1到CHAR2.如a-z,A-Z... [CHAR*] 表示一个或连续几个CHAR。 [CHAR*REPEAT] 表示REPEAT个数个CHAR。 [:alnum:] 表示所有字母和数字。 [:alpha:] 表示所有字母。 [:blank:] 表示横向空格。 [:cntrl:] 表示控制字符。 [:digit:] 表示所有数字。 [:graph:] 表示可打印字符,不包括空格。 [:lower:] 表示小写字母。 [:upper:] 表示大写字母。 [:print:] 表示可打印字符,包括空格。 [:xdigit:] 表示十六进制数字。 [=CHAR=] 表示CHAR 例子: 1: 大小写转换 echo i love you | tr [:lower:] [:upper:] echo i love you | tr "i" "I" 2: 压缩重复字符 tr -s [:alpha:] < file_name tr -s \n < file_name (压缩连续空行) 3: 删除字符 tr -d [:blank:] < file_name echo love | tr -d [=o=] 4: 压缩转换 tr [a*3] "*" < file_name |