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

    tr命令

    作用

    tr命令用于对字符集的替换,删除,去重复等

    语法:

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

    SET1: 字符集1

    SET2:字符集2

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

    -d:delete,删除SET1中所有的字符,不转换 

    -s: squeeze-repeats,压缩SET1中重复的字符

    -t: truncate-set1,将SET1用SET2转换,一般缺省为-t

     

    常用的例子

    1. 去除重复的的字符集  -s

    [jeck@localhost ~]$ echo "aabbccdd1234121123" | tr -s 'abcd1234'

    abcd123412123

    或者

    [jeck@localhost ~]$ echo "aabbccdd1234121123" | tr -s '[a-z][0-9]'

    abcd123412123

    'A-Z' 和 'a-z'都是集合,集合是可以自己制定的,例如:'ABD-}'、'bB.,'、'a-de-h'、'a-c0-9'都属于集合,集合里可以使用' '、' ',可以可以使用其他ASCII字符。

     

    1. 把小写字母转换成大写

    [jeck@localhost ~]$ echo "ni hao fuzj" | tr -t [a-z] [A-Z]

    NI HAO FUZJ

    1. 删除某个字符

    [jeck@localhost ~]$ echo "helow goole " | tr -d go

    helw le

    注意:-d后面的go。会把前面所有包含g和o的字符删掉

     

    1. 删除空白行

    [jeck@localhost ~]$ cat test

    bbb

     

     

    aaa

    cccccccccc

     

    dddddddddd

     

    aaaaaa

    aaa

    cccccc

    [jeck@localhost ~]$ cat test | tr -s " "

    bbb

    aaa

    cccccccccc

    dddddddddd

    aaaaaa

    aaa

    cccccc

    注意:此处用-s删除了多余的换行符,如果用-d,则会删除所有的换行

    [jeck@localhost ~]$ cat test | tr -d " "

    bbbaaaccccccccccddddddddddaaaaaaaaacccccc

    1. 把空格转换成换行符

    [jeck@localhost ~]$ echo "aa bb cc" | tr ' ' ' '

    aa

    bb

    cc

    如果有多个空格的话,需要删除多余的空格

    [jeck@localhost ~]$ echo "aa   bb cc" | tr ' ' ' '

    aa

     

     

    bb

    cc

    [jeck@localhost ~]$ echo "aa   bb cc" | tr -s ' ' ' '

    aa

    bb

    cc

    补充:

    以上事例都是转换的字符。tr还可以直接使用字符类

    [:alnum:]:字母和数字

    [:alpha:]:字母

    [:cntrl:]:控制(非打印)字符

    [:digit:]:数字

    [:graph:]:图形字符

    [:lower:]:小写字母

    [:print:]:可打印字符

    [:punct:]:标点符号

    [:space:]:空白字符

    [:upper:]:大写字母

    [:xdigit:]:十六进制字符

     

    使用方式:

    1. 把小写转换为大写

    [jeck@localhost ~]$ echo "aa bb cc" | tr '[:lower:]' '[:upper:]'

    AA BB CC

     

  • 相关阅读:
    《机器学习十讲》学习报告七
    找到每个人的任务
    牛客每个人最近的登陆日期
    考试分数(一)
    牛客的课程订单分析(一)
    实习广场投递简历分析(一)
    sql 查找最晚入职员工信息
    sql 学习笔记
    shell 编程获取文件名后缀为特定字符的函数
    im的基本思路
  • 原文地址:https://www.cnblogs.com/pycode/p/8734237.html
Copyright © 2011-2022 走看看