• tr命令常用方式总结


    1. 简介  

      tr命令常用来替换,删除来自标准输入字符串中的字符。注意,操作的单位是字符,不是字符串。也就是说,不管是替换还是删除,都是针对字符串中某个字符的。比如tr命令不能很方便地实现字符串替换:把“Hello World”变成“Hello Beijing”,但是可以很方便地把每一个大写字符变成小写字符,echo "Hello World" | tr '[A-Z]' '[a-z]', 最后输出“hello world”。

    2. 使用方法

      tr  [option]   SET1   [SET2]

      其中SET1通常作为被处理的字符集,是必须要给出的。而SET2一般只有在使用tr进行字符替换的时候才会用到。而且SET2和SET1必须一样长。比如, echo "x0y0z" | tr [xyz] [abc] , 这里需要注意,tr是针对字符的,不是字符串的。所以例子中意思是,把字符x替换成字符a,把字符y替换成字符b,把字符z替换成字符c。并不是把xyz替换成abc。这也是SET2必须和SET1一样长的原因。这个例子最后输出“a0b0c”。

      option

        -d 或 --delete, 删除指定的字符, 比如  echo "i2i3ii0i3i4i9i" | tr -d [0-9], 删除字符串中所有的数字,最后输出 “iiiiiiii”。

        -c 或 --completment, 反选字符,在SET1中的字符不做处理,其余的做出对应处理。比如   echo "HeHe" | tr -d -c [e]  , 删除除了字符‘e’之外的其他字符。

        -s 或-squeeze-repeats, 把连续的字符变成单个字符,比如 echo "I looooooove my moneyyyyyyyyy" | tr -s [a-z], 最后输出 “I love my money”。

      SET

        CHAR1-CHAR2, 表示范围。只能由小到大,不能由大到小

        常见的反斜杠转义字符,比如' ', ' ', ' '之类的

        [:alnum:] :所有字母字符与数字

        [:digit:] :所有数字

        [:upper:] :所有大写字母

        [:space:] :所有水平与垂直空格符

    3. 常见用法

      <1> 小写转大写:

        echo “hello” | tr [a-z] [A-Z]   或者  echo "hello" tr [:lower:] [:upper:]

      <2> 删除Windows文件“造成”的'^M'字符

        cat  $file_name  |  tr -d " "  

        <3> 删除连续的字符

        echo "hhhhhh" | tr -s [:alnum:]

  • 相关阅读:
    UVA10163 Storage Keepers (动态规划)
    Uva12174 Shuffle(滑动窗口)
    上决╇ф人员分配问题 (背包问题)
    UVA
    UVALive
    poj1151 Atlantis (线段树+扫描线+离散化)
    poj2528 Mayor's posters (线段树+离散化)
    php 调用微信虚拟支付
    ptoto文件转换的java文件,报错 UnusedPrivateParameter
    redis 安装及启动时警告处理
  • 原文地址:https://www.cnblogs.com/MyOnlyBook/p/9368779.html
Copyright © 2020-2023  润新知