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

    tr

    对stdin字符进行替换、删除和压缩,基本形式
    tr [options] set1 set2
    将输入的字符串中的set1字符转换为set2中对应位置的字符
    set1、set2表示字符集,如果set1字符集长度大于set2,set2使用自身最后一个字符填充补齐,如果set2长度大于set1,set2超出的部分全部被忽略

    转换大小写

    echo "HELLO" | tr 'A-Z' 'a-z'
    将大写字母转换为小写字母

    cat sum.txt | echo $[ $(tr ' ' '+' ) 0 ]
    sum.txt中每一行包含一个数字,求出所有行的和,$[]用来执行算术运算,$()和``(反引号)一样,里面的内容会被拿出来当做命令执行,执行的结果取代该位置

    转码

    echo 12345 | tr '0-9' '987654321'
    将0转换为9,1转换为8...

    删除字符

    echo "hello 123" | tr -d '0-9'
    删除输入中的数字

    字符集补集

    echo "hello 123" | tr -d -c '0-9'
    删除输入中除数字外的其他字符,也就是只保留数字字符,-c set表示set对于输入字符集合的补集

    压缩字符

    echo "hello world, goodl luck!" | tr -s ' '
    -s压缩连续相同的字符,也就是删除连续相同的字符只剩一个

    tr可以像使用集合一样使用各种不同的字符类

    字符类:

    • alnum:字母和数字
    • alpha:字母
    • cntrl:控制字符(非打印字符)
    • digit:数字
    • graph:图形字符
    • lower:小写字母
    • upper:大写字母
    • print:可打印字符
    • punct:标点符号
    • space:空白字符
    • xdigit:十六进制字符

    基本形式:
    tr [:class:] [:class:class]

    例如:
    echo "hello" | tr [:lower:] [:upper:]

  • 相关阅读:
    java 显示当前的时间
    java RandomAccessFile 向文件中写入数据,怎么样不覆盖原来的数据
    NCARG 6.2.0 安装方法
    【转】在Fedora 9下用IFC安装MM5
    Linux下GrADS的安装
    我的博客园
    nyist 2 括号配对问题
    nyist 100 1的个数
    进制(堆栈)
    进制
  • 原文地址:https://www.cnblogs.com/sunshine-2015/p/6828316.html
Copyright © 2011-2022 走看看