• shell的tr命令


    tr,translate的简写,即翻译的意思。主要用来从标准输入中通过替换或删除操作进行字符转换。只接受标准输入,不接受文件参数。

    命令语法:

     tr [–c/d/s/t] [SET1] [SET2]

    参数解释:

    SET1/SET2: 字符集

    -c: complement,用SET2替换SET1中没有包含的字符
    -d: delete,删除SET1中所有的字符,不转换
    -s: squeeze-repeats,压缩SET1中重复的字符,即删除重复的字符
    -t: truncate-set1,将SET1用SET2替换,一般缺省为-t

    -c:complement,用SET2替换SET1中没有包含的字符

    栗子:

    1. 压缩重复字符

    只是把字符串中连续出现的字符压缩,并不是把相同的字符都去掉

    echo deeelaaave | tr -s [a-z]

    结果为:

    delave

    2. 删除换行符

    # tr.txt
    
    Learning Linux
    
    
    
    It's so simple

    1)删除多余换行符,即中间的那些空白

    只是输出改变了而已,tr.txt 文件的内容还是原来一样。

    cat tr.txt | tr -s "
    "

    结果为:

    Learning Linux
    It's so simple

    2)删除所有换行符

    cat tr.txt | tr -d "
    "

    结果为:

    Learning LinuxIt's so simple

    3. 大小写转换

    echo "MY NAME IS DELAV" | tr -t [A-Z] [a-z]

    结果为:

    my name is delav

    当然也可以小写转换成大写

    4. 删除指定字符

    # tr.txt
    
    Python          2015.9 - 2018.11
    Linux           2016.4 - 2018.11
    C               2013.9 - 2014.9
    Golang          2018.11 - 

    [0-9]表示所有数字,[.] [-] [ ] 分别表示 [点 横杠 空格 ] 三个字符,横杠需要添加转义符

    cat tr.txt | tr -d "[0-9][.][-][ ]"

    结果为

    Python
    Linux
    C
    Golang

    5. 字符补集替换

    -c:用换行符替换掉除了字母外的所有字符;-s:删除多余的换行符

    cat tr.txt | tr -cs "[a-z][A-Z]" "
    "

    结果为:

    Python
    Linux
    C
    Golang
  • 相关阅读:
    linux一切皆文件之tcp socket描述符(三)
    linux一切皆文件之Unix domain socket描述符(二)
    linux一切皆文件之文件描述符(一)
    k8s之使用secret获取私有仓库镜像
    https、ssl、tls协议学习
    k8s网络之calico学习
    泛型的原理、应用、约束、缓存
    C#中Unity对象的注册方式与生命周期解析
    监听EF执行的sql语句及状态
    递归一个List<T>,可自己根据需要改造为通用型。
  • 原文地址:https://www.cnblogs.com/delav/p/9952514.html
Copyright © 2020-2023  润新知