shell命令之 tr

简介:
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:]’
在这里插入图片描述

你可能感兴趣的:(shell命令,入门,shell)