1.简介
tr用来转换或者删除一段文字。tr是translate(转换的缩写),功能的英文示意是:translate or delete characters。tr所有的功能均可由sed来完成,可以将tr视为sed一个极简的实现。
2.格式
1
|
tr [OPTION]... SET1 [SET2]
|
3.选项
1
2
3
4
5
|
-c,-C,--complement:将字符集<character set1>以外的其他字符删除或者转换为字符集<character set2>中的最后一个字符(如果你指定了多个字符的话)。见示例6。
-d,--delete:删除信息当中的SET1这个字符串。
-s,--squeeze-repeats:压缩重复的字符,只保留一个。
--help:显示帮助信息。
--version:显示版本信息。
|
4.示例
(1)将last输出的信息中所有小写的字符变成大写字符。
1
2
3
|
last| tr '[a-z]' '[A-Z]'
// 或者
last| tr [a-z] [A-Z]
|
(2)将/etc/passwd输出的信息中的冒号:删除。
1
|
cat /etc/passwd | tr -d ':'
|
(3)将dos文件转成unix文件。
1
|
cat /etc/passwd | tr -d '\r'
|
(4)删除空行
1
|
cat file | tr -s "\n" > new_file
|
(5)将文件file中出现的”abc”替换为”xyz”。
1
|
cat file | tr "abc" "xyz" > new_file
|
注意:这里凡是在file中出现的”a”字母,都替换成”x”字母,”b”字母替换为”y”字母,”c”字母替换为”z”字母,而不是将字符串”abc”替换为字符串”xyz”。
(6)删除和替换指定字符集以外的字符。
1
2
3
4
5
6
7
|
// 替换指定字符集以外的字符
[b3335@MIC ~]$ echo alv blv| tr -c 'lv ' "x"
xlv xlvx
// 删除指定字符集以外的字符
[b3335@MIC ~]$ echo alv blv| tr - cd 'lv'
lvlv
|
以上就是Linux tr命令的使用的详细内容,更多关于Linux tr命令的资料请关注服务器之家其它相关文章!
原文链接:https://cloud.tencent.com/developer/article/1175989