• Linux命令(79)之tr


    linux命令之tr

    1.tr介绍

    linux命令tr用于转换或删除文件中的字符。tr命令只能对标准输入进行操作,不能直接对文件进行操作

    2.tr用法

    tr [参数] [标准输入]

    tr参数常规说明
    参数说明
    -s将多个连续的字符压缩为一个字符
    -d删除指定的字符
    -t对指定的字符进行替换
    -c将指定字符外的字符替换为指定字符

    3.实例

    3.1.将任一连续的a、b、c、d字符压缩为一个字符

    命令:

    tr -s abcd < zzz.txt

    1. [root@rhel77 ~]# cat zzz.txt
    2. 123acb111 aaaa bbbb
    3. 123acb111 error 11111
    4. this is a test line
    5. aaa bbb ccc
    6. this is a test line
    7. aaaa bbbb cccc
    8. 1 111 111
    9. 2 222 222
    10. 1 111 111
    11. aaa
    12. a 1[34]5 dd
    13. a 135 dd
    14. a 145 dd
    15. loveable aaaa
    16. [root@rhel77 ~]# tr -s abcd < zzz.txt
    17. 123acb111 a b
    18. 123acb111 error 11111
    19. this is a test line
    20. a b c
    21. this is a test line
    22. a b c
    23. 1 111 111
    24. 2 222 222
    25. 1 111 111
    26. a
    27. a 1[34]5 d
    28. a 135 d
    29. a 145 d
    30. loveable a
    31. [root@rhel77 ~]#

    3.2.将多个连续的a压缩为A

    命令:

    cat zzz.txt | tr -s a A

    1. [root@rhel77 ~]# cat zzz.txt
    2. 123acb111 aaaa bbbb
    3. 123acb111 error 11111
    4. this is a test line
    5. aaa bbb ccc
    6. this is a test line
    7. aaaa bbbb cccc
    8. 1 111 111
    9. 2 222 222
    10. 1 111 111
    11. aaa
    12. a 1[34]5 dd
    13. a 135 dd
    14. a 145 dd
    15. loveable aaaa
    16. [root@rhel77 ~]# cat zzz.txt | tr -s a A
    17. 123Acb111 A bbbb
    18. 123Acb111 error 11111
    19. this is A test line
    20. A bbb ccc
    21. this is A test line
    22. A bbbb cccc
    23. 1 111 111
    24. 2 222 222
    25. 1 111 111
    26. A
    27. A 1[34]5 dd
    28. A 135 dd
    29. A 145 dd
    30. loveAble A
    31. [root@rhel77 ~]#

    3.3.将多个连续的a、连续的b分别压缩为A和B

    命令:

    cat zzz.txt | tr -s ab AB

    1. [root@rhel77 ~]# cat zzz.txt
    2. 123acb111 aaaa bbbb
    3. 123acb111 error 11111
    4. this is a test line
    5. aaa bbb ccc
    6. this is a test line
    7. aaaa bbbb cccc
    8. 1 111 111
    9. 2 222 222
    10. 1 111 111
    11. aaa
    12. a 1[34]5 dd
    13. a 135 dd
    14. a 145 dd
    15. loveable aaaa
    16. [root@rhel77 ~]# cat zzz.txt | tr -s ab AB
    17. 123AcB111 A B
    18. 123AcB111 error 11111
    19. this is A test line
    20. A B ccc
    21. this is A test line
    22. A B cccc
    23. 1 111 111
    24. 2 222 222
    25. 1 111 111
    26. A
    27. A 1[34]5 dd
    28. A 135 dd
    29. A 145 dd
    30. loveABle A
    31. [root@rhel77 ~]#

    3.4.删除空白行

    命令:

    cat zzz.txt | tr -s "\n"

    1. [root@rhel77 ~]# cat zzz.txt
    2. 123acb111 aaaa bbbb
    3. 123acb111 error 11111
    4. this is a test line
    5. aaa bbb ccc
    6. this is a test line
    7. aaaa bbbb cccc
    8. 1 111 111
    9. 2 222 222
    10. 1 111 111
    11. aaa
    12. a 1[34]5 dd
    13. a 135 dd
    14. a 145 dd
    15. loveable aaaa
    16. [root@rhel77 ~]# cat zzz.txt | tr -s "\n"
    17. 123acb111 aaaa bbbb
    18. 123acb111 error 11111
    19. this is a test line
    20. aaa bbb ccc
    21. this is a test line
    22. aaaa bbbb cccc
    23. 1 111 111
    24. 2 222 222
    25. 1 111 111
    26. aaa
    27. a 1[34]5 dd
    28. a 135 dd
    29. a 145 dd
    30. loveable aaaa
    31. [root@rhel77 ~]#

    3.5.删除字符a

    命令:

    cat zzz.txt | tr -d a

    1. [root@rhel77 ~]# cat zzz.txt
    2. 123acb111 aaaa bbbb
    3. 123acb111 error 11111
    4. this is a test line
    5. aaa bbb ccc
    6. this is a test line
    7. aaaa bbbb cccc
    8. 1 111 111
    9. 2 222 222
    10. 1 111 111
    11. aaa
    12. a 1[34]5 dd
    13. a 135 dd
    14. a 145 dd
    15. loveable aaaa
    16. [root@rhel77 ~]# cat zzz.txt | tr -d a
    17. 123cb111 bbbb
    18. 123cb111 error 11111
    19. this is test line
    20. bbb ccc
    21. this is test line
    22. bbbb cccc
    23. 1 111 111
    24. 2 222 222
    25. 1 111 111
    26. 1[34]5 dd
    27. 135 dd
    28. 145 dd
    29. loveble
    30. [root@rhel77 ~]#

    3.6.删除字符a和b

    命令:

    cat zzz.txt | tr -d ab

    1. [root@rhel77 ~]# cat zzz.txt
    2. 123acb111 aaaa bbbb
    3. 123acb111 error 11111
    4. this is a test line
    5. aaa bbb ccc
    6. this is a test line
    7. aaaa bbbb cccc
    8. 1 111 111
    9. 2 222 222
    10. 1 111 111
    11. aaa
    12. a 1[34]5 dd
    13. a 135 dd
    14. a 145 dd
    15. loveable aaaa
    16. [root@rhel77 ~]# cat zzz.txt | tr -d ab
    17. 123c111
    18. 123c111 error 11111
    19. this is test line
    20. ccc
    21. this is test line
    22. cccc
    23. 1 111 111
    24. 2 222 222
    25. 1 111 111
    26. 1[34]5 dd
    27. 135 dd
    28. 145 dd
    29. lovele
    30. [root@rhel77 ~]#

    3.7.删除字符a、b和c

    命令:

    cat zzz.txt | tr -d abc

    1. [root@rhel77 ~]# cat zzz.txt
    2. 123acb111 aaaa bbbb
    3. 123acb111 error 11111
    4. this is a test line
    5. aaa bbb ccc
    6. this is a test line
    7. aaaa bbbb cccc
    8. 1 111 111
    9. 2 222 222
    10. 1 111 111
    11. aaa
    12. a 1[34]5 dd
    13. a 135 dd
    14. a 145 dd
    15. loveable aaaa
    16. [root@rhel77 ~]# cat zzz.txt | tr -d abc
    17. 123111
    18. 123111 error 11111
    19. this is test line
    20. this is test line
    21. 1 111 111
    22. 2 222 222
    23. 1 111 111
    24. 1[34]5 dd
    25. 135 dd
    26. 145 dd
    27. lovele
    28. [root@rhel77 ~]#

    3.8.把字符a、b、c替换为A、B、C

    命令:

    cat zzz.txt | tr -t abc ABC

    其中:-t可以省略

    1. [root@rhel77 ~]# cat zzz.txt
    2. 123acb111 aaaa bbbb
    3. 123acb111 error 11111
    4. this is a test line
    5. aaa bbb ccc
    6. this is a test line
    7. aaaa bbbb cccc
    8. 1 111 111
    9. 2 222 222
    10. 1 111 111
    11. aaa
    12. a 1[34]5 dd
    13. a 135 dd
    14. a 145 dd
    15. loveable aaaa
    16. [root@rhel77 ~]# cat zzz.txt | tr -t abc ABC
    17. 123ACB111 AAAA BBBB
    18. 123ACB111 error 11111
    19. this is A test line
    20. AAA BBB CCC
    21. this is A test line
    22. AAAA BBBB CCCC
    23. 1 111 111
    24. 2 222 222
    25. 1 111 111
    26. AAA
    27. A 1[34]5 dd
    28. A 135 dd
    29. A 145 dd
    30. loveABle AAAA
    31. [root@rhel77 ~]#

    3.9.把a-z转换为A-Z

    命令:

    cat zzz.txt | tr -t a-z A-Z

    1. [root@rhel77 ~]# cat zzz.txt
    2. 123acb111 aaaa bbbb
    3. 123acb111 error 11111
    4. this is a test line
    5. aaa bbb ccc
    6. this is a test line
    7. aaaa bbbb cccc
    8. 1 111 111
    9. 2 222 222
    10. 1 111 111
    11. aaa
    12. a 1[34]5 dd
    13. a 135 dd
    14. a 145 dd
    15. loveable aaaa
    16. [root@rhel77 ~]# cat zzz.txt | tr -t a-z A-Z
    17. 123ACB111 AAAA BBBB
    18. 123ACB111 ERROR 11111
    19. THIS IS A TEST LINE
    20. AAA BBB CCC
    21. THIS IS A TEST LINE
    22. AAAA BBBB CCCC
    23. 1 111 111
    24. 2 222 222
    25. 1 111 111
    26. AAA
    27. A 1[34]5 DD
    28. A 135 DD
    29. A 145 DD
    30. LOVEABLE AAAA
    31. [root@rhel77 ~]#

    3.10.将字符a外的字符全部替换为X

    命令:

    cat zzz.txt | tr -c a X

    1. [root@rhel77 ~]# cat zzz.txt
    2. 123acb111 aaaa bbbb
    3. 123acb111 error 11111
    4. this is a test line
    5. aaa bbb ccc
    6. this is a test line
    7. aaaa bbbb cccc
    8. 1 111 111
    9. 2 222 222
    10. 1 111 111
    11. aaa
    12. a 1[34]5 dd
    13. a 135 dd
    14. a 145 dd
    15. loveable aaaa
    16. [root@rhel77 ~]# cat zzz.txt | tr -c a X
    17. XXXaXXXXXXXXaaaaXXXXXXXXXXaXXXXXXXXXXXXXXXXXXXXXXXXXXaXXXXXXXXXXXaaaXXXXXXXXXXXXXXXXXaXXXXXXXXXXXXXaaaaXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXaaaXXXaXXXXXXXXXXXaXXXXXXXXaXXXXXXXXXXXXXXXXaXXXXaaaaX[root@rhel77 ~]#

  • 相关阅读:
    【初学者入门C语言】之习题篇(二)
    Spring常见问题解决 - 自定义ApplicationEnvironmentPreparedEvent监听器失效了?
    leetcode687. 最长同值路径(java)
    Mysql索引的创建与设计原则
    [二进制学习笔记]Ubuntu20.04关闭开启ASLR
    Docker的网络模式
    next.js极速入门
    SQL Select(选择) 语法
    Leetcode中等:137. 只出现一次的数字II
    Leetcode 1379.找出克隆二叉树中的相同节点
  • 原文地址:https://blog.csdn.net/z19861216/article/details/132577197