zoukankan      html  css  js  c++  java
  • tr命令

    tr可以对来自标准输入的内容进行字符替换、字符删除以及重复字符压缩。

    tr只能通过stdin(标准输入)接收输入(无法通过命令行参数接收)。其调用格式如下: 

    tr [options] set1 set2

    来自stdin的输入字符会按照位置从set1映射到set2(set1中的第一个字符映射到set2中的第一个字符,以此类推),然后将输出写入stdout(标准输出)。

    set1和set2是字符类或字符组。如果两个字符组的长度不相等,那么set2会不断复制其最后一个字符,直到长度与set1相同。如果set2的长度大于set1,那么在set2中超出set1长度的那部分字符则全部被忽略。 

    字符替换

    1、将set1中的字符替换为小写字符

    执行:echo "a1b2c3" | tr 'a-z' 'A-Z'

    输出:A1B2C3

    2、将不在set1的字符替换成@

    执行:echo "a1b2c3" | tr -c '0-9 ' '@'

    输出:@1@2@3

    3、加密和解密

    ROT13是一个著名的加密算法。在ROT13算法中,字符会被移动13个位置,因此文本加密和解密都使用同一个函数:

    加密:echo "root" | tr 'a-zA-Z' 'n-za-mN-ZA-M'

    加密后的字符:ebbg

    解密: echo "ebbg" | tr 'a-zA-Z' 'n-za-mN-ZA-M'

    解密后的字符:root

    字符删除

    1、删除set1中的字符

    执行:echo "abc123" | tr -d '0-9'

    输出:abc

    2、删除不在set1中的字符

    执行:echo "a1b2c3" | tr -d -c '0-9 '

    输出:123

    重复字符压缩

    执行:echo "aa11bb22" | tr -s 'a-z'

    输出:a11b22

    字符类

    tr可以将不同的字符类作为集合使用,所支持的字符类如下所示。

     alnum:字母和数字。

     alpha:字母。

     cntrl:控制(非打印)字符。

     digit:数字。

     graph:图形字符。

     lower:小写字母。

     print:可打印字符。

     punct:标点符号。

     space:空白字符。

     upper:大写字母。

     xdigit:十六进制字符。 

    执行:echo "abc123" | tr '[:lower:]' '[:upper:]'

    输出:ABC123

  • 相关阅读:
    JavaScript----特效代码
    坑!vue.js在ios9中失效
    MySQL的ibdata1文件占用过大
    Ubuntu搭建Gitlab服务器
    Logstash+Kibana部署配置
    Kafka+Zookeeper集群搭建
    ES5.0集群搭建
    Kibana使用高德地图
    Zabbix安装客户端agent(windows和Centos7)
    Centos/Rhel7部署Zabbix监控(部署篇之服务器篇)
  • 原文地址:https://www.cnblogs.com/lfjn/p/11394119.html
Copyright © 2011-2022 走看看