zoukankan      html  css  js  c++  java
  • Linux tr命令详解

    tr是个简单的替换命令,从标准输入中替换、缩减和/或删除字符,并将结果写到标准输出。

    tr常见命令参数

    用法:tr [选项]... SET1 [SET2]
    从标准输入中替换、缩减和/或删除字符,并将结果写到标准输出。
    
      -c, -C, --complement          首先补足SET1
      -d, --delete                  删除匹配SET1 的内容,并不作替换
      -s, --squeeze-repeats 如果匹配于SET1 的字符在输入序列中存在连续的
                                    重复,在替换时会被统一缩为一个字符的长度
      -t, --truncate-set1           先将SET1 的长度截为和SET2 相等
          --help            显示此帮助信息并退出
          --version         显示版本信息并退出
    
    SET 是一组字符串,一般都可按照字面含义理解。解析序列如下:
    
      NNN  八进制值为NNN 的字符(1 至3 个数位)
      \            反斜杠
      a            终端鸣响
                  退格
      f            换页
      
                换行
      
                回车
      	            水平制表符
      v            垂直制表符
      字符1-字符2   从字符1 到字符2 的升序递增过程中经历的所有字符
      [字符*]       在SET2 中适用,指定字符会被连续复制直到吻合设置1 的长度
      [字符*次数]   对字符执行指定次数的复制,若次数以 0 开头则被视为八进制数
      [:alnum:]     所有的字母和数字
      [:alpha:]     所有的字母
      [:blank:]     所有呈水平排列的空白字符
      [:cntrl:]     所有的控制字符
      [:digit:]     所有的数字
      [:graph:]     所有的可打印字符,不包括空格
      [:lower:]     所有的小写字母
      [:print:]     所有的可打印字符,包括空格
      [:punct:]     所有的标点字符
      [:space:]     所有呈水平或垂直排列的空白字符
      [:upper:]     所有的大写字母
      [:xdigit:]    所有的十六进制数
      [=字符=]      所有和指定字符相等的字符

    常用的命令展示

    不换行显示

    seq 9 | tr "
    " "|"

    image

    删除多余的空行

    cat last.txt | tr -s '
    '

    删除指定的字符

    cat last.txt | tr -d '[0-9].'

    大小写转换

    cat last.txt | tr '[a-z]'  '[A-Z]'

    字符串去重复

    cat last.txt | tr -s '[a-zA-Z]'

    不满足第一列的时候用第二列替代

    cat last.txt | tr -c '[a-z][0-9]' '+'

    替换字母权限为数字

    tr rwx- 4321  
    ll h.txt | tr rwx- 4321 
    ll   /etc/hosts | tr rwx- 4210| awk -F "" '{print $1+$2+$3 $4+$5+$6 $7+$8+$9}'
    ll   /etc/hosts | cut -c 2-10 | tr rwx- 4210 |awk -F "" '{print $1+$2+$3 $4+$5+$6 $7+$8+$9}'

    image

  • 相关阅读:
    字典或者数组与JSON串之间的转换
    银联支付 支付代码
    iOS 一个新方法:- (void)makeObjectsPerformSelector:(SEL)aSelector;
    iOS 直接使用16进制颜色
    iOS 添加view的分类(更加方便的设置view的位置)
    iOS 中UITableView的深理解
    Swift 中调试状态下打印日志
    手把手教React Native实战开发视频教程【更新到40集啦。。。】
    React Native 开发
    React-Native学习指南
  • 原文地址:https://www.cnblogs.com/ftl1012/p/tr.html
Copyright © 2011-2022 走看看