zoukankan      html  css  js  c++  java
  • 【Linux常见命令】tr命令

    tr - translate or delete characters

    tr 命令用于转换或删除文件中的字符。

    tr 指令从标准输入设备读取数据,经过字符串转译后,将结果输出到标准输出设备。

    语法:

      tr [OPTION]... SET1 [SET2]

      tr [-cdst][--help][--version][第一字符集][第二字符集]

    参数:

    • -c, --complement:反选设定字符。也就是符合 SET1 的部份不做处理,不符合的剩余部份才进行转换
    • -d, --delete:删除指令字符
      • # 删除user几个字符
        [root@oldboy oldboy]# cat new.txt|tr -d 'user'
        1-01
        2-02
        3-03
        4-04
        5-05
        
        # 删除字母
        [root@oldboy oldboy]# cat new.txt|tr -d [:alpha:]
        1-01
        2-02
        3-03
        4-04
        5-05
        
        # 删除-
        [root@oldboy oldboy]# cat new.txt|tr -d -          
        1user01
        2user02
        3user03
        4user04
        5user05
        
        # 删除数字1-9
        [root@oldboy oldboy]# cat new.txt|tr -d [1-9]
        -user0
        -user0
        -user0
        -user0
        -user0
        
        # 删除数字0-9
        [root@oldboy oldboy]# cat new.txt|tr -d [0-9] 
        -user
        -user
        -user
        -user
        -user
        
        # 删除数字和-
        [root@oldboy oldboy]# cat new.txt|tr -d "[0-9]-"
        user
        user
        user
        user
        user
        tr -d删除set1
    • -s, --squeeze-repeats:缩减连续重复的字符成指定的单个字符
    • -t, --truncate-set1:削减 SET1 指定范围,使之与 SET2 设定长度相等

    示例:

    [root@oldboy oldboy]# cat new.txt
    1-user01
    2-user02
    3-user03
    4-user04
    5-user05
    
    # 从标准输入读取文件内容,作为字符集
    [root@oldboy oldboy]# tr [1-9] [a-z] <new.txt
    a-user0a
    b-user0b
    c-user0c
    d-user0d
    e-user0e

      [root@oldboy oldboy]# cat new.txt|tr [1-9] [a-z]
      a-user0a
      b-user0b
      c-user0c
      d-user0d
      e-user0e

    将1替换为a,将2替换b,将3替换为c,...,一次类推。

    大小写转换,也可以通过[:lower][:upper]参数来实现:

    [root@oldboy oldboy]# cat new.txt|tr [:lower:] [:upper:]
    1-USER01
    2-USER02
    3-USER03
    4-USER04
    5-USER05
    [root@oldboy 
  • 相关阅读:
    android开源项目汇总
    Java多线程与并发库高级应用之阻塞队列BlockingQueue
    Java多线程与并发库高级应用之线程数据交换Exchanger
    Java多线程与并发库高级应用之倒计时计数器
    Java多线程与并发库高级应用之信号量Semaphore
    Java多线程与并发库高级应用之公共屏障点CyclicBarrier
    DataGridView 绑定 List
    记录pygame在pycharm中添加不上,下载错误的问题
    MySQL用户操作勒
    mysql_secure_installation
  • 原文地址:https://www.cnblogs.com/zoe233/p/11808745.html
Copyright © 2011-2022 走看看