您的当前位置:首页正文

Linux tr命令的使用

2024-11-16 来源:个人技术集锦

1.简介

tr用来转换或者删除一段文字。tr是translate(转换的缩写),功能的英文示意是:translate or delete characters。tr所有的功能均可由sed来完成,可以将tr视为sed一个极简的实现。

2.格式

tr [OPTION]... SET1 [SET2]

3.选项

-c,-C,--complement:将字符集<character set1>以外的其他字符删除或者转换为字符集<character set2>中的最后一个字符(如果你指定了多个字符的话)。见示例6。
-d,--delete:删除信息当中的SET1这个字符串。
-s,--squeeze-repeats:压缩重复的字符,只保留一个。
--help:显示帮助信息。
--version:显示版本信息。

4.示例

(1)将last输出的信息中所有小写的字符变成大写字符。

last|tr '[a-z]' '[A-Z]'
//或者
last|tr [a-z] [A-Z]

(2)将/etc/passwd输出的信息中的冒号:删除。

cat /etc/passwd | tr -d ':'

(3)将dos文件转成unix文件。

cat /etc/passwd | tr -d '\r'

(4)删除空行

cat file | tr -s "\n" > new_file

(5)将文件file中出现的”abc”替换为”xyz”。

cat file | tr "abc" "xyz" > new_file

注意:这里凡是在file中出现的”a”字母,都替换成”x”字母,”b”字母替换为”y”字母,”c”字母替换为”z”字母,而不是将字符串”abc”替换为字符串”xyz”。

(6)删除和替换指定字符集以外的字符。

//替换指定字符集以外的字符
[b3335@MIC ~]$ echo alv blv|tr -c 'lv ' "x"
xlv xlvx

//删除指定字符集以外的字符
[b3335@MIC ~]$ echo alv blv|tr -cd 'lv'
lvlv
显示全文