zoukankan      html  css  js  c++  java
  • 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:]

  • 相关阅读:
    【2018.05.05 C与C++基础】C++中的自动废料收集:概念与问题引入
    【2018.04.27 C与C++基础】关于switch-case及if-else的效率问题
    【2018.04.19 ROS机器人操作系统】机器人控制:运动规划、路径规划及轨迹规划简介之一
    March 11th, 2018 Week 11th Sunday
    March 10th, 2018 Week 10th Saturday
    March 09th, 2018 Week 10th Friday
    March 08th, 2018 Week 10th Thursday
    March 07th, 2018 Week 10th Wednesday
    ubantu之Git使用
    AMS分析 -- 启动过程
  • 原文地址:https://www.cnblogs.com/MyOnlyBook/p/9368779.html
Copyright © 2011-2022 走看看