tr命令

1、经常使用用法

有3种经常使用的模式,于是有3种经常使用用法,分别介绍以下。web

1.一、删除

其余命令的输出 | tr [--complement] -d SET

1.二、去重

其余命令的输出 | tr [--complement] -s SET

1.三、替换

其余命令的输出 | tr SET1 SET2

2、含义与选项

2.一、含义

相应于3种经常使用用法,含义分别介绍以下。bash

2.1.一、删除

对于标准输入内容,若是未指定“–complement”选项,表示删除其中属于“SET”的字符,进行打印;若是指定“–complement”选项,表示删除其中属于“SET补集”的字符,进行打印。svg

2.1.二、去重

对于标准输入内容,若是未指定“–complement”选项,当其中存在一个子串,子串的长度大于1,子串只由1个字符构成,且该字符属于“SET”,那么进行去重,即以构成该子串的字符代替该子串;若是指定“–complement”选项,将“字符属于‘SET’”的条件改成“字符属于‘SET补集’”。ui

2.1.三、替换

对于标准输入内容,其中的任意一个字符,只要该字符属于“SET1”,那么就以“SET2”中相应位置的字符进行替换。spa

2.二、选项表示的意思

“–complement”:表示使用显式所指定集合的补集。
“-d”:表示“删除”模式。
“-s”:表示“去重”模式。3d

3、“SET”集合表示方法

对于“SET”集合的表示最经常使用的有两种方法,分别是:枚举法和范围法。code

3.一、枚举法

枚举出构成“SET”集合的全部元素,好比“abcde”。xml

3.二、范围法

指定“SET”集合的“首端元素”和“尾端元素”,以“-”相链接,好比“[a-z]”。注意咱们是在“递增”的语境中,肯定“首端元素”和“尾端元素”的,好比对于“abc…xyz”这26个小写英文字母,在“递增”的语境中,“首端元素”是“a”,“尾端元素”是“z”。blog

备注:
容许以转义形式表达某些特殊字符,好比“\n”,“\t”和“\r”等。图片

4、一些例子

4.一、删除

一、例子1
执行命令:

echo "hello world" | tr -d "abcde"

所得结果如图1所示:

图1
这里写图片描述

二、例子2
执行命令:

echo "hello world" | tr --complement -d "abcde\n"

所得结果如图2所示:

图2
这里写图片描述

4.二、去重

一、例子1
执行命令:

echo "hellllo" | tr -s "l"

所得结果如图3所示:

图3
这里写图片描述

二、例子2
执行命令:

echo "hellllo" | tr --complement -s "abcde"

所得结果如图4所示:

图4
这里写图片描述

4.三、替换

一、例子1
执行命令:

echo "hello world" | tr "[a-z]" "[A-Z]"

所得结果如图5所示:

图5
这里写图片描述