• 【Linux】字符转换命令tr


      tr (traslate的缩写)可以用来删除一段信息当中的文字,或者是进行文字信息的替换!

    [root@www ~]# tr [-ds] SET1 ...
    选项与参数:
    -d  :删除信息当中的 SET1 这个字符串;
    -s  :取代掉重复的字符!
    
    范例一:将 last 输出的信息中,所有的小写变成大写字符:
    [root@www ~]# last | tr '[a-z]' '[A-Z]'
    # 事实上,没有加上单引号也是可以运行的,如:『 last | tr [a-z] [A-Z] 』
    
    范例二:将 /etc/passwd 输出的信息中,将冒号 (:) 删除
    [root@www ~]# cat /etc/passwd | tr -d ':'
    
    范例三:将 /etc/passwd 转存成 dos 断行到 /root/passwd 中,再将 ^M 符号删除
    [root@www ~]# cp /etc/passwd /root/passwd && unix2dos /root/passwd
    [root@www ~]# file /etc/passwd /root/passwd
    /etc/passwd:  ASCII text
    /root/passwd: ASCII text, with CRLF line terminators <==就是 DOS 断行
    [root@www ~]# cat /root/passwd | tr -d '
    ' > /root/passwd.linux
    # 那个 
     指的是 DOS 的断行字符,关于更多的字符,请参考 man tr
    [root@www ~]# ll /etc/passwd /root/passwd*
    -rw-r--r-- 1 root root 1986 Feb  6 17:55 /etc/passwd
    -rw-r--r-- 1 root root 2030 Feb  7 15:55 /root/passwd
    -rw-r--r-- 1 root root 1986 Feb  7 15:57 /root/passwd.

      其实这个命令也可以写在『正规表示法』里头!因为他也是由正规表示法的方式来取代数据的! 以上面的例子来说,使用 [] 可以配置一串字呢!也常常用来取代文件中的怪异符号! 例如上面第三个例子当中,可以去除 DOS 文件留下来的 ^M 这个断行的符号!这东西相当的有用!相信处理 Linux & Windows 系统中的人们最麻烦的一件事就是这个事情啦!亦即是 DOS 底下会自动的在每行行尾加入 ^M 这个断行符号!这个时候我们可以使用这个 tr 来将 ^M 去除! ^M 可以使用 来代替之!

      参考资料:http://vbird.dic.ksu.edu.tw/linux_basic/0320bash.php#pipe_4

  • 相关阅读:
    零侵入性:循环重试功能
    Service有多个实现类,它怎么知道该注入哪个ServiceImpl类
    消息队列经典
    MyBatisplus
    图片存储服务器上
    Spring Boot 保护敏感配置的 4 种方法
    微服务组件
    Optional 实例
    date s 更改时间后不生效
    java运行时 报错 Error: Could not find or load main class test
  • 原文地址:https://www.cnblogs.com/ningvsban/p/3725428.html
Copyright © 2020-2023  润新知