字符處理工具之tr

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只能包含一個元素。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章