1.先举几个能让tr
大显身手的场景
场景一:给一个英文文本文件,输出前十个出现次数最多的单词
cat <filename>|tr -s '[:space]' '\n'|tr '[:upper:]' [:lower:]|sort |uniq -c |sort -nr|head -10
场景二:多行数据合并成一行,因为 grep 之类的匹配,按行匹配
cat <filename>|tr -s '\n' ' '
注意 Windows 下的换行符为\r\n
.
2.tr
tr是 translate的缩写,中译为翻译
man 一下 tr可得其SYNOPSIS为tr [OPTION]...SET1 [SET2]
下面介绍一下几个常用选项,注意是SET1
而不是String1
,有些
手册上写的是String1
,我个人认为Set1
更佳,因为Set1
强调了集合的无序性,而String1则是有序的。translate的作用对象是Character
,把多个Character
变为某一个。
-d delete characters in SET1, do not translate
-s –squeeze-repeats
replace each input sequence of a repeated character that is listed in SET1 with a single occurrence of that character 注意此时Set2只能包含一个元素。