运维开发网

从0开始学习shell--tr工具的使用

运维开发网 https://www.qedev.com 2021-04-18 15:02 出处:51CTO 作者:进击的闪电
shell;tr

tr工具

Tr 用于字符转换,替换和删除

用法一:命令的执行结果交给tr处理,str1用于查询,str2用于转换处理

Command | tr ‘str1’ ‘str2’

用法二:tr处理的内容来自文件,< 标准输入

Tr ‘str1’ ‘str2’ < filename

用法三:匹配文件中的str1进行相应的操作,如删除操作

tr option ‘str1’ < filename

-d 删除字符串中所有输入字符

-s 删除所有重复出现字符序列,只保留第一个:即将重复出现字符压缩为一个字符串

(1)替换功能

[root@localhost tmp]# cat /tmp/passwd | head | tee 1.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

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

sync:x:5:0:sync:/sbin:/bin/sync

shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

halt:x:7:0:halt:/sbin:/sbin/halt

mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

operator:x:11:0:operator:/root:/sbin/nologin

[root@localhost tmp]# cat 1.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

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

sync:x:5:0:sync:/sbin:/bin/sync

shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

halt:x:7:0:halt:/sbin:/sbin/halt

mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

operator:x:11:0:operator:/root:/sbin/nologin

[root@localhost tmp]# tr 'a-z' 'A-Z' < 1.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

LP:X:4:7:LP:/VAR/SPOOL/LPD:/SBIN/NOLOGIN

SYNC:X:5:0:SYNC:/SBIN:/BIN/SYNC

SHUTDOWN:X:6:0:SHUTDOWN:/SBIN:/SBIN/SHUTDOWN

HALT:X:7:0:HALT:/SBIN:/SBIN/HALT

MAIL:X:8:12:MAIL:/VAR/SPOOL/MAIL:/SBIN/NOLOGIN

OPERATOR:X:11:0:OPERATOR:/ROOT:/SBIN/NOLOGIN

[root@localhost tmp]#

[root@localhost tmp]# cat 1.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

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

sync:x:5:0:sync:/sbin:/bin/sync

shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

halt:x:7:0:halt:/sbin:/sbin/halt

mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

operator:x:11:0:operator:/root:/sbin/nologin

[root@localhost tmp]# tr ':/' '#' < 1.txt tr是一个字符一个字符的替换,将:或者/替换成#

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

lp#x#4#7#lp##var#spool#lpd##sbin#nologin

sync#x#5#0#sync##sbin##bin#sync

shutdown#x#6#0#shutdown##sbin##sbin#shutdown

halt#x#7#0#halt##sbin##sbin#halt

mail#x#8#12#mail##var#spool#mail##sbin#nologin

operator#x#11#0#operator##root##sbin#nologin

[root@localhost tmp]# tr ':,/' '#' < 1.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

lp#x#4#7#lp##var#spool#lpd##sbin#nologin

sync#x#5#0#sync##sbin##bin#sync

shutdown#x#6#0#shutdown##sbin##sbin#shutdown

halt#x#7#0#halt##sbin##sbin#halt

mail#x#8#12#mail##var#spool#mail##sbin#nologin

operator#x#11#0#operator##root##sbin#nologin

空格也是一个字符

[root@localhost tmp]# cat 1.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

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

sync:x:5:0:sync:/sbin:/bin/sync

shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

halt:x:7:0:halt:/sbin:/sbin/halt

mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

operator:x:11:0:operator:/root:/sbin/nologin

[root@localhost tmp]# tr ': /' '#' < 1.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

lp#x#4#7#lp##var#spool#lpd##sbin#nologin

sync#x#5#0#sync##sbin##bin#sync

shutdown#x#6#0#shutdown##sbin##sbin#shutdown

halt#x#7#0#halt##sbin##sbin#halt

mail#x#8#12#mail##var#spool#mail##sbin#nologin

operator#x#11#0#operator##root##sbin#nologin

[root@localhost tmp]#

‘,’也是可以替换的一个字符

[root@localhost tmp]# cat 1.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

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

sync:x:5:0:sync:/sbin:/bin/sync

shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

halt:x:7:0:halt:/sbin:/sbin/halt

mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

operator:x:11:0:operator:/root:/sbin/nologin

[root@localhost tmp]# tr ':,/' '#' < 1.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

lp#x#4#7#lp##var#spool#lpd##sbin#nologin

sync#x#5#0#sync##sbin##bin#sync

shutdown#x#6#0#shutdown##sbin##sbin#shutdown

halt#x#7#0#halt##sbin##sbin#halt

mail#x#8#12#mail##var#spool#mail##sbin#nologin

operator#x#11#0#operator##root##sbin#nologin

[root@localhost tmp]#

(2)删除字符

删除所有的小写字符

[root@localhost tmp]# cat 1.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

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

sync:x:5:0:sync:/sbin:/bin/sync

shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

halt:x:7:0:halt:/sbin:/sbin/halt

mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

operator:x:11:0:operator:/root:/sbin/nologin

[root@localhost tmp]# tr -d 'a-z' < 1.txt

::0:0::/://

::1:1::/://

, : :2:2::/://

::3:4:://://

::4:7::///://

::5:0::/://

::6:0::/://

::7:0::/://

::8:12::///://

::11:0::/://

[root@localhost tmp]#

(3)压缩功能

删除连续的小写字母

[root@localhost tmp]# cat 1.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

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

sync:x:5:0:sync:/sbin:/bin/sync

shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

halt:x:7:0:halt:/sbin:/sbin/halt

mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

operator:x:11:0:operator:/root:/sbin/nologin

aaaabbbbbaaaccc

abcabc

[root@localhost tmp]#

[root@localhost tmp]#

[root@localhost tmp]# tr -s 'a-z' < 1.txt

rot:x:0:0:rot:/rot:/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

lp:x:4:7:lp:/var/spol/lpd:/sbin/nologin

sync:x:5:0:sync:/sbin:/bin/sync

shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

halt:x:7:0:halt:/sbin:/sbin/halt

mail:x:8:12:mail:/var/spol/mail:/sbin/nologin

operator:x:11:0:operator:/rot:/sbin/nologin

abac

abcabc

[root@localhost tmp]#

0

精彩评论

暂无评论...
验证码 换一张
取 消