码迷,mamicode.com
首页 > 其他好文 > 详细

tr 替换或删除字符

时间:2018-04-26 00:57:36      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:linux   cal   参数说明   说明   class   body   cat   width   UNC   

1.命令功能

tr 从标准输入中替换,压缩间隔或者删除字符并从定向到标准输出。

2.语法格式

tr  option  SET1  SET2

参数

参数说明

-c

取代所有SET1中字符串

-d

删除所有SET1中的字符串,不做替换

-s

把连续重复的字符串以单独一个字符表示

-t

先删除第SET1字符串较SET2字符串多出的字符

说明:

SET1:指定要转换或删除原字符集,当执行转换时,必须使用参数SET2中指定的目标字符串;但执行删除操作时,不需要SET2。

SET2:指定要转换成目标字符串。

3.使用范例

范例1 将输入的字符由大写转换成小写

[root@localhost ~]# echo "HELLO WELCOME TO LINUX"

HELLO WELCOME TO LINUX

[root@localhost ~]# echo "HELLO WELCOME TO LINUX" |tr ‘A-Z‘ ‘a-z‘   #大写转换成小写

hello welcome to linux

‘A-Z‘和‘a-z‘都是集合,集合可以自己制定。例如‘a-z0-9’都是集合。

范例2 删除字符串

[root@localhost ~]# echo ‘hello 123456 welcome 586 to linux‘ |tr -d ‘1-9‘

hello  welcome  to linux

[root@localhost ~]# echo ‘hello 123456 welcome 586 to linux‘ |tr -d ‘a-z‘

 123456  586 

范例4 把替换后的内容追加到新的文本中

[root@localhost ~]# echo "HELLO WELCOME TO LINUX" |tr ‘A-Z‘ ‘a-z‘ < test.txt

-bash: test.txt: 没有那个文件或目录

[root@localhost ~]# touch test.txt

[root@localhost ~]# echo "HELLO WELCOME TO LINUX" |tr ‘A-Z‘ ‘a-z‘ > test.txt

[root@localhost ~]# cat test.txt

hello welcome to linux

[root@localhost ~]# echo ‘hello 123456 welcome 586 to linux‘ |tr -d ‘a-z‘ >> test.txt

[root@localhost ~]# cat test.txt

hello welcome to linux

 123456  586 

范例3 压缩重复字符,每个字符只出现一次

[root@localhost ~]# echo "helllllo welcomeeeee to linuxxxxxx"  |tr -s ‘lex‘

helo welcome to linux

tr 可以使用的字符类集合

[:alnum:]:字母和数字

[:alpha:]:字母

[:cntr1:]:控制(非打印)字符

[:digit:]:数字

[:graph:]:图形字符

[:lower:]:小写字母

[:print:]:可打印字符

[:punct:]:标点符号

[:space:]:空白字符

[:upper:]:大写字母

[:xdigit:]:十六进制字符

使用语法:

tr ‘[:lower:]’‘[:upper:]’

tr 替换或删除字符

标签:linux   cal   参数说明   说明   class   body   cat   width   UNC   

原文地址:https://www.cnblogs.com/joechu/p/8947825.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!