linux tr命令学习

TR命令可以对来自标准输入的字符进行替换,删除以及压缩。它可以将一组字符变成另一组字符,因而通常也被称为转换命令。

man手册中的解释是:Translate, squeeze, and/or delete characters from standard input, writing to standard output.翻译过来是:转换、压缩或者删除从标准输入中读到的字符,并写道标准输出中。

下面来看具体用法:

注:tr只能通过stdin(标准输入),而无法通过命令行参数来接受输入。

①,转换

将大写字符转为小写字符。'A-Z'以及'a-z'都是集合,我们可以用“起始字符-终止字符”这种格式。注意必须是升序,否则会报错:

tr的格式如下:tr [options] set1 set2

当set1长度大于set2时,set2会不断重复其最后一个字符,直到长度与set1相同,例如:

因为set2只有两个字符,所以从第3个字符开始都被转换成了B。

相反,当set2长度大于set1时,set2多余的字符会被忽略,此例略。

②,删除字符。

tr有一个选项-d,可以通过指定需要被删除的字符集和,将出现在stdin中的字符清除掉。

例:

将stdin中的所有数字删除。

③,压缩字符。

tr命令可以利用-s选项来压缩连续重复的字符。

④,字符集补集

我们可以利用-c这个选项来使用set的补集。-c [set]等同于定义了一个集合(补集),这个集合中的字符不包含在set中。

 

原文地址:https://www.cnblogs.com/huashui/p/3279882.html