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

     

  • 相关阅读:
    Java暑期学习第四十天日报
    Java暑期学习第三十七天日报
    Java暑期学习第三十八天日报
    Java暑期学习第三十三天日报
    Java学习第五周汇报
    Windows窗体控件扩展TreeView实例
    ADO.NET:从数据集更新数据库
    如何在加载winform的时候自动改变treeview的指定根节点的字体颜色呢??
    9月15日
    扩展DropDownList控件和ListBox控件(1) 支持分组功能(optgroup标签)
  • 原文地址:https://www.cnblogs.com/pycode/p/8734237.html
Copyright © 2011-2022 走看看