linux 命令:tr 详解

tr 命令的功能是转换或删除字符。

用法:tr [OPTION]... SET1 [SET2]

选项:

-c, -C, --complement        用 SET2 替换 SET1 中没有包括的字符

-d, --delete                        删除 SET1 中的字符

-s, --squeeze-repeats       压缩 SET1 中重复的字符

-t, --truncate-set1              将 SET1 截成与 SET2 一样的长度

--help                                帮助文档

--version                            版本信息

SET 包含的特殊字符如下:

\NNN 八进制值的字符 NNN (1 to 3 为八进制值的字符)

\\ 反斜杠

\a 铃声

\b 退格符

\f 换页符

\n 换行符

\r 回车符

\t 水平制表符

\v 垂直制表符

CHAR1-CHAR2 从 CHAR1 到 CHAR2 的所有字符,升序

[CHAR*] 重复 SET2 中的 CHAR 到与 SET1 相同长度为止

[CHAR*REPEAT] 重复 SET2 中的 CHAR 到 REPEAT 指定的长度,REPEAT单位是8进制数

[:alnum:] 所有的字母和数字

[:alpha:] 所有字母

[:blank:] 水平制表符,空白等

[:cntrl:] 所有控制字符

[:digit:] 所有的数字

[:graph:] 所有可打印字符,不包括空格

[:lower:] 所有的小写字符

[:print:] 所有可打印字符,包括空格

[:punct:] 所有的标点字符

[:space:] 所有的横向或纵向的空白

[:upper:] 所有大写字母

[:xdigit:] 所有16进制数

[=CHAR=] CHAR

使用示例:

 1. 不加选项:

[root@server dir]# echo "Merry Christmas" | tr a-z A-Z
MERRY CHRISTMAS
[root@server dir]# echo "Merry Christmas" | tr [:lower:] [:upper:]
MERRY CHRISTMAS
[root@server dir]# echo "Merry Christmas" | tr r a
Meaay Chaistmas

2. -s 选项:

[root@server dir]# echo "aaabbbeeecccddd" | tr -s abcde
abecd

3. -d 选项:

[root@server dir]# echo "Merry Christmas" | tr -d r
Mey Chistmas

4. -t 选项:

[root@server dir]# echo "Merry Christmas" | tr -t a-z A-N
MErry CHrIstMAs
[root@server dir]# echo "Merry Christmas" | tr a-z A-N
MENNN CHNINNMAN

可以看到,在不使用 -t 时,如果 SET2 的长度小于 SET1,SET1 中有但 SET2 中没有的字符,将不会被替换。在使用 -t 时,如果 SET2 的长度小于 SET1,SET1 中有但 SET2 中没有的字符,将被 SET2 中最后一个字符替换。

5. -c 选项:

[root@server dir]# echo "Merry Christmas" | tr -c a-z "#"
#erry##hristmas#

把标准输入中的不包括在 SET1(a-z)的字符(M、C、空格、换行符)替换为井号(#)。 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值