简介:
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:]’