📅  最后修改于: 2023-12-03 14:48:01.578000             🧑  作者: Mango
Shell/Bash 是程序员必备的技能之一, 而其中的 tr 命令更是常用的字符串处理工具之一。tr 命令可以从标准输入中读取一些文本, 将其中一个字符集替换成另一个字符集并输出, 非常适用于一些文本处理场景。
tr [OPTION] SET1 [SET2]
tr 命令的基本语法非常简单, 只需要输入 tr 命令本身, 后面跟上要替换的字符集 SET1, 再接一下要替换成的字符集 SET2。SET1 和 SET2 都可以是单个字符、字符集或转义序列。如果省略 SET2, 则 SET1 会被替换成空格。
下面是一个简单的 tr 命令的示例, 即将所有小写字母转换成大写字母。
$ echo "hello world" | tr '[:lower:]' '[:upper:]'
HELLO WORLD
在上面的命令中, tr 命令将 SET1 设置为'[:lower:]', 将 SET2 设置为'[:upper:]', 即将小写字母替换成大写字母。命令的输出是 "HELLO WORLD"。
下面列举一些常用的选项。
使用 -c 选项可以将 SET1 中没有出现过的字符替换成 SET2 中的字符。
$ echo "hello world" | tr -c 'aeiou' ' '
e o o
在上面的命令中, 使用 -c 选项将除了元音字母以外的字符全部替换成空格, 输出的结果是 "e o o"。
使用 -d 选项可以删除 SET1 中存在的字符。
$ echo "hello world" | tr -d 'l'
heo word
在上面的命令中, 使用 -d 选项删除了所有的字符'l', 输出的结果是 "heo word"。
使用 -s 选项可以将连续的重复字符替换成单个字符。
$ echo "hello world" | tr -s ' '
hello world
在上面的命令中, 使用 -s 选项将连续的空格替换成单个空格, 输出的结果是 "hello world"。
tr 命令是 Shell/Bash 中常用的字符串处理工具之一, 当你需要对文本进行一些简单的替换操作时, tr 命令就可以派上用场了。 了解了 tr 命令的基本语法和一些常用选项之后, 你可以在实际的开发工作中灵活运用, 提高开发效率。