Linux 命令(41)—— tr 命令

1.命令简介

tr(translate)用来转换或者删除一段文字。tr 所有的功能均可由 sed 来完成,可以将 tr 视为 sed 一个极简的实现。

2.命令格式

tr [OPTIONS] SET1 [SET2]

3.选项说明

-c, -C, --complement SET1 [SET2]
	将字符集 SET1 以外的其他字符删除或者转换为字符集 SET2 中的最后一个字符(如果你指定了多个字符的话)
-d, --delete
	删除 SET1 这个字符串
-s, --squeeze-repeats
	如果 SET1 中的字符连续出现多次,压缩重复的字符,只保留一个
-t, --truncate-set1
	先将 SET1 的长度截为和 SET2 相等
--help
	显示帮助信息并退出
--version
	显示版本信息并退出

4.常用示例

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

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)将文件中 “abc” 分别替换为 “xyz” 中对应的字符。

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

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

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

echo -n "alv blv" | tr -c "lv " "x"
xlv xlv

echo -n 表示不输出换行符。

(7)从输入文本中将不在补集中的所有字符删除。

echo -n "alv blv" | tr -dc "lv"
lvlv

参考文献

[1] tr(1) manual

©️2020 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值