且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

tr命令使用简介

更新时间:2022-10-04 21:45:19

tr  

    translate or delete characters(翻译或删除字符)

         我理解的意思就是对字符进行转换,或者删除不想要的字符

    tr [OPTION]... SET1 [SET2]

         将来自标准输入的字符从SET1转换为SET2

         例:将所有大写转换为小写

             #echo "HELLO HOW ARE YOU?" | tr 'A-Z' 'a-z'

             tr命令使用简介

    注意:只能用于stdin

    常用选项:

        -c:补集,所谓补集就是除了给定的字符以外的其它所有字符,不能单独使用此选项

        -d:删除指定字符

        -s:压缩指定的重复字符

     用法举例:

        -d:通过例子可以看到指定的集合被删除了

            #echo "Hello 1 how 2 are 3 you 4 ?" | tr -d '[0-9]' (中括号可以省略)

            tr命令使用简介

        -c:通过例子可以看到指定的集合为所有数字,空格,换行符,因为有-d选项,所以除了集合之外的都被删除

            #echo "Hello 1 how 2 are 3 you 4 ?" | tr -d -c '0-9 \n'

            tr命令使用简介

        -s:通过例子可以看到,中间重复多余的空格被压缩了后,只显示一个   

             # echo "Hello         1    how 2 are         3 you 4 ?" | tr -s ' '

            tr命令使用简介

    定义集合:

        'A-Z'和'a-z'都是集合,我们可以按需求追加字符或字符类来构造集合

        ’起始字符-结束字符‘:字义连续集合的方式,必须是连续的,若不是连续的,则被定义为3个单的元素,即起                               始字符,’-‘,’结束字符‘;

        特殊字符:'\t'为制表符,'\n'为换行符

    字符类:

            alnum:所有字母和数字

            digit:所有的数字

            alpha:所有的字母

            space:空白字符

            upper:所有的大写字符

            lower:所有的小写字符

            punct:标点符号

            xdigit:十六进制字符

            使用方法:

                tr [:字符类:] [:字符类:]

本文转自激情燃烧的岁月博客51CTO博客,原文链接http://blog.51cto.com/liuzhengwei521/1746585如需转载请自行联系原作者


weilovepan520