• shell学习(21)- tr


    Linux tr 命令用于转换或删除文件中的字符。

    tr 指令从标准输入设备读取数据,经过字符串转译后,将结果输出到标准输出设备。

    在tr中利用集合的概念,可以轻松地将字符从一个集合映射到另一个集合中。

    语法

    tr [-cdst][--help][--version][第一字符集][第二字符集]  
    tr [OPTION]…SET1[SET2] 

    参数说明:

    • -c, --complement:反选设定字符。也就是符合 SET1 的部份不做处理,不符合的剩余部份才进行转换
    • -d, --delete:删除指令字符
    • -s, --squeeze-repeats:缩减连续重复的字符成指定的单个字符
    • -t, --truncate-set1:削减 SET1 指定范围,使之与 SET2 设定长度相等
    • --help:显示程序用法信息
    • --version:显示程序本身的版本信息

    1.-d选项

    [kumufengchun@localhost ~]$echo "sping is a good season" | tr -d "a"
    sping is good seson
    $ echo "Hello 123 world 456" | tr -d '0-9'
    Hello world
    # 将stdin中的数字删除并打印删除后的结果

    2.-s选项

    [kumufengchun@localhost ~/shell]$ echo "sping is a good     season" | tr -s " "
    sping is a good season

    3.基本替换

    [kumufengchun@localhost ~/shell]$ cat tr.txt
    Linux networks are becoming more and more common
    [kumufengchun@localhost ~/shell]$ cat tr.txt | tr a-z A-Z
    LINUX NETWORKS ARE BECOMING MORE AND MORE COMMON
    [kumufengchun@localhost ~/shell]$ cat tr.txt | tr [:lower:] [:upper:]
    LINUX NETWORKS ARE BECOMING MORE AND MORE COMMON
    $ echo 12345 | tr '0-9' '9876543210'
    87654 # 已加密
    $ echo 87654 | tr '9876543210' '0-9'
    12345 # 已解密
    $
    echo "tr came, tr saw, tr conquered." | tr 'a-zA-Z' 'n-za-mN-ZA-M' ge pnzr, ge fnj, ge pbadhrerq. $ echo ge pnzr, ge fnj, ge pbadhrerq. | tr 'a-zA-Z' 'n-za-mN-ZA-M' tr came, tr saw, tr conquered.

    'ABD-}'、'aA.,'、'a-ce-x'以及'a-c0-9'等均是合法的集合。定义集合也很简单,不需要书写一长串连续的字符序列,只需要使用“起始字符终止字符”这种格式就行了。这种写法也可以和其他字符或字符类结合使用。如果“起始字符终止字符”不是有效的连续字符序列,那么它就会被视为含有3个元素的集合(起始字符、和终止字符)。你也可以使用像' '、' '这种特殊字符或其他ASCII字符。

    参考:https://www.runoob.com/linux/linux-comm-tr.html

              《Linux_Shell脚本攻略.第3版》

  • 相关阅读:
    Shell之sed用法 转滴
    再议mysql 主从配置
    CentOS 如何将.deb 文件 转换.rpm
    scp命令[转]
    安装samba服务器
    xdebug影响php运行速度
    PHP中VC6、VC9、TS、NTS版本的区别与用法详解
    将Centos的yum源更换为国内的阿里云源
    centos网卡错误Device eth0 does not seem to be present
    虚拟机VirtualBox中centos6.5网络设置
  • 原文地址:https://www.cnblogs.com/kumufengchun/p/11383577.html
Copyright © 2020-2023  润新知