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