ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

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

2021-04-17 23:06:41  阅读:149  来源: 互联网

标签:bin sbin shell -- tr ## var mail root


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

标签:bin,sbin,shell,--,tr,##,var,mail,root
来源: https://blog.51cto.com/u_13625527/2714362

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有