• 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

  • 相关阅读:
    sap mm_1
    SAP
    tomcat配置
    sap
    数据库范式
    SAP_20140304
    Eclipse 常用设置
    Oracle常用命令1
    Mysql 学习笔记 20140219
    java 宠物商店代码
  • 原文地址:https://www.cnblogs.com/lfjn/p/11394119.html
Copyright © 2020-2023  润新知