• 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 ~]#

  • 相关阅读:
    python学习05-协程
    三菱FX3U——ST局部标签和全局标签
    Adobe推出AI视频超分辨率工具VideoGigaGAN
    1400*B. Applejack and Storages(贪心&字符串)
    redis的原理和源码-数据持久化方式RDB的介绍和源码解析
    【PythonWeb开发】Flask自定义模板路径和静态资源路径
    97 交错字符串
    【lesson12】理解进程地址空间
    生产服务器变卡怎么排查
    arcgis--二维建筑面的三维显示设置
  • 原文地址:https://blog.csdn.net/z19861216/article/details/132577197