有3种经常使用的模式,于是有3种经常使用用法,分别介绍以下。web
其余命令的输出 | tr [--complement] -d SET
其余命令的输出 | tr [--complement] -s SET
其余命令的输出 | tr SET1 SET2
相应于3种经常使用用法,含义分别介绍以下。bash
对于标准输入内容,若是未指定“–complement”选项,表示删除其中属于“SET”的字符,进行打印;若是指定“–complement”选项,表示删除其中属于“SET补集”的字符,进行打印。svg
对于标准输入内容,若是未指定“–complement”选项,当其中存在一个子串,子串的长度大于1,子串只由1个字符构成,且该字符属于“SET”,那么进行去重,即以构成该子串的字符代替该子串;若是指定“–complement”选项,将“字符属于‘SET’”的条件改成“字符属于‘SET补集’”。ui
对于标准输入内容,其中的任意一个字符,只要该字符属于“SET1”,那么就以“SET2”中相应位置的字符进行替换。spa
“–complement”:表示使用显式所指定集合的补集。
“-d”:表示“删除”模式。
“-s”:表示“去重”模式。3d
对于“SET”集合的表示最经常使用的有两种方法,分别是:枚举法和范围法。code
枚举出构成“SET”集合的全部元素,好比“abcde”。xml
指定“SET”集合的“首端元素”和“尾端元素”,以“-”相链接,好比“[a-z]”。注意咱们是在“递增”的语境中,肯定“首端元素”和“尾端元素”的,好比对于“abc…xyz”这26个小写英文字母,在“递增”的语境中,“首端元素”是“a”,“尾端元素”是“z”。blog
备注:
容许以转义形式表达某些特殊字符,好比“\n”,“\t”和“\r”等。图片
一、例子1
执行命令:
echo "hello world" | tr -d "abcde"
所得结果如图1所示:
图1
二、例子2
执行命令:
echo "hello world" | tr --complement -d "abcde\n"
所得结果如图2所示:
图2
一、例子1
执行命令:
echo "hellllo" | tr -s "l"
所得结果如图3所示:
图3
二、例子2
执行命令:
echo "hellllo" | tr --complement -s "abcde"
所得结果如图4所示:
图4
一、例子1
执行命令:
echo "hello world" | tr "[a-z]" "[A-Z]"
所得结果如图5所示:
图5