首页 > 代码库 > tr命令

tr命令

  从标准输入中替换,压缩或删除字符,写入标准输出。

  语法:

    tr [option]... set1 [set2]

  选项:

    -c:取代所有不属于set1的字符;

    -d:删除所有属于set1的字符(与c结合就是删除所有不属于set1的字符);

    -s:把连续的字符,只保留一个字符;

    -t:将set1截断为set2的长度,即删除set1比set2多出的字符数。

  set是一串字符串:

  \NNN    八进制值为NNN 的字符(1 至3 个数位)
  \\        反斜杠
  \a        终端鸣响
  \b        退格
  \f        换页
  \n        换行
  \r        回车
  \t        水平制表符
  \v        垂直制表符
  字符1-字符2    从字符1 到字符2 的升序递增过程中经历的所有字符
  [字符*]    在SET2 中适用,指定字符会被连续复制直到吻合设置1 的长度
  [字符*次数]    对字符执行指定次数的复制,若次数以 0 开头则被视为八进制数
  [:alnum:]    所有的字母和数字,相当于[a-zA-Z0-9]
  [:alpha:]    所有的字母,相当于[a-zA-Z]
  [:blank:]    所有呈水平排列的空白字符
  [:cntrl:]    所有的控制字符
  [:digit:]    所有的数字,相当于[0-9]
  [:graph:]    所有的可打印字符,不包括空格
  [:lower:]    所有的小写字母,相当于[a-z]
  [:print:]    所有的可打印字符,包括空格
  [:punct:]    所有的标点字符
  [:space:]    所有呈水平或垂直排列的空白字符
  [:upper:]    所有的大写字母,相当于[A-Z]
  [:xdigit:]    所有的十六进制数
  [=字符=]    所有和指定字符相等的字符

实例:

    1:将小写字母换成大写字母:

      技术分享

    2:将所有除了小写字母和换行符以外的字符换成空白符:

      技术分享

    3:删除除了大写字母和标点符号和换行符的其他字符:

      技术分享

     4:压缩重复字符“fd g”:

      技术分享

     5:根据上题,将“fd g”压缩并替换成“1-4”:

      技术分享

 

tr命令