shell tr命令用法

发布时间:2020-08-06编辑:脚本学堂
本文介绍了shell编程中tr命令的用法,有需要的朋友参考下,希望对大家有所帮助。

本节内容:
shell中tr命令的用法

例1,替换字符,把小写的r替换成大写的R
 

复制代码 代码示例:
[root@jbxue ~] /cygdrive/d 
$ cat pass.txt 
root:x:0:0:root:/root:/bin/bash 
bin:x:1:1:bin:/bin:/sbin/nologin 
daemon:x:2:2:daemon:/sbin:/sbin/nologin 
adm:x:3:4:adm:/var/adm:/sbin/nologin 
[root@jbxue ~] /cygdrive/d 
$ tr 'r' 'R' < ./pass.txt 
Root:x:0:0:Root:/Root:/bin/bash 
bin:x:1:1:bin:/bin:/sbin/nologin 
daemon:x:2:2:daemon:/sbin:/sbin/nologin 
adm:x:3:4:adm:/vaR/adm:/sbin/nologin 

例2,把小写全换成大写
 

复制代码 代码示例:
$ tr '[a-z]' '[A-Z]' < ./pass.txt 
ROOT:X:0:0:ROOT:/ROOT:/BIN/BASH 
BIN:X:1:1:BIN:/BIN:/SBIN/NOLOGIN 
DAEMON:X:2:2:DAEMON:/SBIN:/SBIN/NOLOGIN 
ADM:X:3:4:ADM:/VAR/ADM:/SBIN/NOLOGIN 

例3,
 

复制代码 代码示例:

[root@jbxue ~] /cygdrive/d 
$ a=`echo 123456789 | tr '1-9' '[A*5]'BCDE`    #前5个字符替换成A 

[root@jbxue ~] /cygdrive/d 
$ echo $a 
AAAAABCDE 
 
[root@jbxue ~] /cygdrive/d 
$ a=`echo 123456789 | tr '1-9' '[A*]'BCDE`    #不指定A的替换的数量, 
 
[root@jbxue ~] /cygdrive/d 
$ echo $a 
AAAAABCDE 
 
[root@jbxue ~] /cygdrive/d 
$ a=`echo 123456789 | tr '1-9' '[A*6]'BCDE`   #指定替换个数为6,则最后一个E就没了 
 
[root@jbxue ~] /cygdrive/d 
$ echo $a 
AAAAAABCD