帮助文档
专业提供香港服务器、香港云服务器、香港高防服务器租用、香港云主机、台湾服务器、美国服务器、美国云服务器vps租用、韩国高防服务器租用、新加坡服务器、日本服务器租用 一站式全球网络解决方案提供商!专业运营维护IDC数据中心,提供高质量的服务器托管,服务器机房租用,服务器机柜租用,IDC机房机柜租用等服务,稳定、安全、高性能的云端计算服务,实时满足您的多样性业务需求。 香港大带宽稳定可靠,高级工程师提供基于服务器硬件、操作系统、网络、应用环境、安全的免费技术支持。
服务器资讯 / 香港服务器租用 / 香港VPS租用 / 香港云服务器 / 美国服务器租用 / 台湾服务器租用 / 日本服务器租用 / 官方公告 / 帮助文档
Linux----tr命令详细使用方法
发布时间:2024-02-28 05:13:47   分类:帮助文档
Linux----tr命令详细使用方法 【原文链接】Linux----tr命令详细使用方法 文章目录 一、tr命令使用方法1.1 tr命令的作用1.2 tr命令格式1.3 tr命令常用的选项1.4 常用的匹配字符串 二、tr命令常用实例2.1 如何查看文本中的控制字符2.2 将所有小写字母转换为大写字母2.3 将文件中的数字替换为&符号2.4 对命令执行结果中的冒号替换为tab制表符2.5 删除文件中的所有小写字母2.6 删除文件中的数字冒号和斜线和逗号2.7 针对文件每一行进行压缩,即当存在连续重复的字母时只保留一个 一、tr命令使用方法 1.1 tr命令的作用 tr命令用于字符转换、替换和删除,主要用于删除文件中的控制符或进行字符串转换等。 1.2 tr命令格式 # 用法1:命令的执行结果交给tr处理,其中string1用于查询,string2用于转换处理 commands | tr ‘string1’ ‘string2’ # 用法2:对来自于filename文件中的内容进行字符替换。 tr 'string1' 'string2' < filename # 用法3:对来自filename文件的内容查询string1并进行相应的处理,比如删除等。 tr option 'string1' test.txt 内容如下: [root@jiayi-centos-01 opt]# cat test.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 games:x:12:100:games:/usr/games:/sbin/nologin ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin nobody:x:99:99:Nobody:/:/sbin/nologin systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin dbus:x:81:81:System message bus:/:/sbin/nologin polkitd:x:999:998:User for polkitd:/:/sbin/nologin sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin isrc-admin:x:1000:1000:isrc-admin:/home/isrc-admin:/bin/bash unbound:x:998:996:Unbound DNS resolver:/etc/unbound:/sbin/nologin rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin qemu:x:107:107:qemu user:/:/sbin/nologin gluster:x:997:995:GlusterFS daemons:/run/gluster:/sbin/nologin radvd:x:75:75:radvd user:/:/sbin/nologin saslauth:x:996:76:Saslauthd user:/run/saslauthd:/sbin/nologin tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin honghua:x:1001:1001::/home/honghua:/bin/bash [root@jiayi-centos-01 opt]# 执行下面命令即可将test.txt中小写替换为答谢,并写入demo.txt [root@jiayi-centos-01 opt]# tr 'a-z' 'A-Z' demo.txt [root@jiayi-centos-01 opt]# cat demo.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 GAMES:X:12:100:GAMES:/USR/GAMES:/SBIN/NOLOGIN FTP:X:14:50:FTP USER:/VAR/FTP:/SBIN/NOLOGIN NOBODY:X:99:99:NOBODY:/:/SBIN/NOLOGIN SYSTEMD-NETWORK:X:192:192:SYSTEMD NETWORK MANAGEMENT:/:/SBIN/NOLOGIN DBUS:X:81:81:SYSTEM MESSAGE BUS:/:/SBIN/NOLOGIN POLKITD:X:999:998:USER FOR POLKITD:/:/SBIN/NOLOGIN SSHD:X:74:74:PRIVILEGE-SEPARATED SSH:/VAR/EMPTY/SSHD:/SBIN/NOLOGIN POSTFIX:X:89:89::/VAR/SPOOL/POSTFIX:/SBIN/NOLOGIN ISRC-ADMIN:X:1000:1000:ISRC-ADMIN:/HOME/ISRC-ADMIN:/BIN/BASH UNBOUND:X:998:996:UNBOUND DNS RESOLVER:/ETC/UNBOUND:/SBIN/NOLOGIN RPC:X:32:32:RPCBIND DAEMON:/VAR/LIB/RPCBIND:/SBIN/NOLOGIN QEMU:X:107:107:QEMU USER:/:/SBIN/NOLOGIN GLUSTER:X:997:995:GLUSTERFS DAEMONS:/RUN/GLUSTER:/SBIN/NOLOGIN RADVD:X:75:75:RADVD USER:/:/SBIN/NOLOGIN SASLAUTH:X:996:76:SASLAUTHD USER:/RUN/SASLAUTHD:/SBIN/NOLOGIN TSS:X:59:59:ACCOUNT USED BY THE TROUSERS PACKAGE TO SANDBOX THE TCSD DAEMON:/DEV/NULL:/SBIN/NOLOGIN RPCUSER:X:29:29:RPC SERVICE USER:/VAR/LIB/NFS:/SBIN/NOLOGIN NFSNOBODY:X:65534:65534:ANONYMOUS NFS USER:/VAR/LIB/NFS:/SBIN/NOLOGIN HONGHUA:X:1001:1001::/HOME/HONGHUA:/BIN/BASH [root@jiayi-centos-01 opt]# 2.3 将文件中的数字替换为&符号 执行如下命令即可将test.txt中的所有数字转换为&符号并写入demo.txt [root@jiayi-centos-01 opt]# tr '0-9' '&' demo.txt [root@jiayi-centos-01 opt]# cat demo.txt root:x:&:&:root:/root:/bin/bash bin:x:&:&:bin:/bin:/sbin/nologin daemon:x:&:&:daemon:/sbin:/sbin/nologin adm:x:&:&:adm:/var/adm:/sbin/nologin lp:x:&:&:lp:/var/spool/lpd:/sbin/nologin sync:x:&:&:sync:/sbin:/bin/sync shutdown:x:&:&:shutdown:/sbin:/sbin/shutdown halt:x:&:&:halt:/sbin:/sbin/halt mail:x:&:&&:mail:/var/spool/mail:/sbin/nologin operator:x:&&:&:operator:/root:/sbin/nologin games:x:&&:&&&:games:/usr/games:/sbin/nologin ftp:x:&&:&&:FTP User:/var/ftp:/sbin/nologin nobody:x:&&:&&:Nobody:/:/sbin/nologin systemd-network:x:&&&:&&&:systemd Network Management:/:/sbin/nologin dbus:x:&&:&&:System message bus:/:/sbin/nologin polkitd:x:&&&:&&&:User for polkitd:/:/sbin/nologin sshd:x:&&:&&:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin postfix:x:&&:&&::/var/spool/postfix:/sbin/nologin isrc-admin:x:&&&&:&&&&:isrc-admin:/home/isrc-admin:/bin/bash unbound:x:&&&:&&&:Unbound DNS resolver:/etc/unbound:/sbin/nologin rpc:x:&&:&&:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin qemu:x:&&&:&&&:qemu user:/:/sbin/nologin gluster:x:&&&:&&&:GlusterFS daemons:/run/gluster:/sbin/nologin radvd:x:&&:&&:radvd user:/:/sbin/nologin saslauth:x:&&&:&&:Saslauthd user:/run/saslauthd:/sbin/nologin tss:x:&&:&&:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin rpcuser:x:&&:&&:RPC Service User:/var/lib/nfs:/sbin/nologin nfsnobody:x:&&&&&:&&&&&:Anonymous NFS User:/var/lib/nfs:/sbin/nologin honghua:x:&&&&:&&&&::/home/honghua:/bin/bash [root@jiayi-centos-01 opt]# 2.4 对命令执行结果中的冒号替换为tab制表符 如下,需要使用管道符 [root@jiayi-centos-01 opt]# cat test.txt | tr ':' '\t' 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 games x 12 100 games /usr/games /sbin/nologin ftp x 14 50 FTP User /var/ftp /sbin/nologin nobody x 99 99 Nobody / /sbin/nologin systemd-network x 192 192 systemd Network Management / /sbin/nologin dbus x 81 81 System message bus / /sbin/nologin polkitd x 999 998 User for polkitd / /sbin/nologin sshd x 74 74 Privilege-separated SSH /var/empty/sshd /sbin/nologin postfix x 89 89 /var/spool/postfix /sbin/nologin isrc-admin x 1000 1000 isrc-admin /home/isrc-admin /bin/bash unbound x 998 996 Unbound DNS resolver /etc/unbound /sbin/nologin rpc x 32 32 Rpcbind Daemon /var/lib/rpcbind /sbin/nologin qemu x 107 107 qemu user / /sbin/nologin gluster x 997 995 GlusterFS daemons /run/gluster /sbin/nologin radvd x 75 75 radvd user / /sbin/nologin saslauth x 996 76 Saslauthd user /run/saslauthd /sbin/nologin tss x 59 59 Account used by the trousers package to sandbox the tcsd daemon /dev/null /sbin/nologin rpcuser x 29 29 RPC Service User /var/lib/nfs /sbin/nologin nfsnobody x 65534 65534 Anonymous NFS User /var/lib/nfs /sbin/nologin honghua x 1001 1001 /home/honghua /bin/bash [root@jiayi-centos-01 opt]# 2.5 删除文件中的所有小写字母 如下所示,删除小写字母后,每一行还是每一行,只是将小写字母全部删除 [root@jiayi-centos-01 opt]# tr -d 'a-z'