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

  • 相关阅读:
    解决 SQL Server Profiler 跟踪[不断]出现检索数据
    Linq表达式开窍
    CSS3——动画效果
    MongoDB学习与BUG解答
    MongoDB 客户端 MongoVue
    Memcached——分布式缓存
    WRONGTYPE Operation against a key holding the wrong kind of value
    Redis——分布式简单使用
    HTML5——播放器
    HTML5——行走日记
  • 原文地址:https://www.cnblogs.com/lfjn/p/11394119.html
Copyright © 2011-2022 走看看