zoukankan      html  css  js  c++  java
  • shell脚本之tr命令使用

    tr命令用来进行对标准输入的内容做替换。例如

    # echo 'HELLO WORLD!!!' | tr "A-Z" "a-z"
    hello world!!!

    这里的"A-Z"、"a-z"都表示集合,shell脚本中定义集合类型很简单,即指定集合序列即可,但是对于上边的情形,不得非输入所有集合类型,可以通过“开始字符-结束字符”方式进行集合定义。使用tr命令结合集合使用,可以解决很多复杂问题。

    使用tr进行数据加密,解密:

    # echo 456 | tr "0-9" "9876543210"
    543

    # echo 543 | tr "9876543210" "0-9"
    456

    tr进行字符替换:

    # cat dept

    10    ACCOUNTING    NEW YORK
    20    RESEARCH    DALLAS
    30    SALES    CHICAGO
    40    OPERATIONS    BOSTON

    # cat dept | tr " " " "

    10 ACCOUNTING NEW YORK
    20 RESEARCH DALLAS
    30 SALES CHICAGO
    40 OPERATIONS BOSTON

    指定-d参数删除指定字符串:

    # echo 'hello 123 world 456 !!!' | tr -d '{0-9}'
    hello  world  !!!

    指定-c参数进行补集处理,通常与-d连用,删除不满足条件的字符:

    # echo 'hello 123 world 456 !!!' | tr -d -c '{0-9 }'
      123  456

    tr命令中-s参数进行字符压缩,将连续的重复字符压缩成当个字符,最常见的场景就是压缩空白格:

    # echo 'hello           123              world             456 !!!' | tr -s ' '
    hello 123 world 456 !!!

    技巧:使用tr将文件中的字符列表相加:

    # seq 5 | echo $[ $( tr ' ' '+' ) 0 ]
    15

    解释:将 替换成+后,脚本输出变成$[ 1+2+3+4+5+0 ],可以直接进行加法计算,省去循环读取数字的麻烦。

    tr也可以像集合一样使用各种不同的字符类。

    sed和tr替换换行符:sed ':label;N;s/, /,/;b label ; tr ' ' ','

  • 相关阅读:
    文件夹对比工具
    删除eval key
    Mongodb Backup and Restore
    RabbitMQ Management界面中查看NaN的队列
    css文字描边
    网页适配 iPhoneX,就是这么简单
    VSCode 配置使用less转成.min.css压缩
    css3随着外层包裹的旋转里面的图标为正
    安装nginx+免费https证书
    在线微博数据可视化
  • 原文地址:https://www.cnblogs.com/wcwen1990/p/7049823.html
Copyright © 2011-2022 走看看