zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    超棒的jQuery矢量地图生成插件 JQVAMP
    签名一年过期 项目导入出现 红叉叉
    invalid commandline parameter: Files\Android\androidsdk\tools/emulatorarm.exe 错误
    线性布局 相对布局 参数
    触摸事件 按下 移动 弹起
    Activity service 通信
    android view的setVisibility方法值的意思
    TextView 支持 html 图片显示
    布局动态添加 相对布局
    存储数据 SharedPreferences
  • 原文地址:https://www.cnblogs.com/delav/p/9952514.html
Copyright © 2011-2022 走看看