shell命令之 tr

本文介绍了Linux命令行工具`tr`的使用,包括字符大小写转换、加解密、删除指定字符、字符集补偿和压缩字符等功能。通过实例演示了如何使用`tr`进行字符串操作,如将大写字母转为小写,实现简单的加密解密,以及删除或压缩重复字符。此外,还提到了字符类的使用,如`[:lower:]`和`[:upper:]`,使其在文本处理中更加灵活。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简介:
tr常用来编写单行命令,可以对来自标准输入的字符进行替换,删除以及压缩。它可以将一组字符变成另一组字符,因而通常也被称为转换(translate)命令。
预备知识:
1:tr只能通过stdin(标准输入,而无法通过命令行参数来接收输入)。它的调用格式
tr [options] set1 set2

实战演练:
1 将输入的字符由大写转换成小写

echo "HELLO" | tr 'A-Z' 'a-z'

2 加解密

echo "hello" | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz' 
'NOPQRSTUVWXYZABCDEFGHIJKLMnopqrstuvwxyzabcdefghijklm' 

ROT13 加解密 原理 就是两边都对称 所以加解密可以用一套相同的集合

删除指定字符
cat file.txt | tr -d ‘[set1]’
例如

echo "hello 123 world 234" | tr -d '0-9'

输出 hello world

字符集补偿(删除补集)
tr -c [set1] [set2]

echo hello 1 char 2 next 4 | tr -d -c '0-9 \n'

输出 1 2 4

压缩字符
压缩输入中重复的字符 tr -s ‘[set]’

echo "tr    is    a   shell   order   " | tr -s ' '

tr is a shell order .

字符类
tr [:class:] [:class:]
例如 tr ‘[:lower:]’ ‘[:upper:]’
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值