tr
是 Linux 中用于转换或删除字符的命令。它从标准输入读取数据,并对输入中的字符进行替换、压缩或删除操作,最后将结果输出到标准输出。常见用法包括字符大小写转换、删除特定字符或字符压缩。
tr [OPTION] SET1 [SET2]
SET1
:要替换的字符集。SET2
:要替换成的字符集(与 SET1
对应)。OPTION
:可选的参数,用于修改命令的行为。-d
:删除指定的字符。-s
:压缩重复的字符。-c
:对 SET1
进行取反操作,处理不在 SET1
中的字符。将输入的所有小写字母转换为大写字母:
echo "hello world" | tr 'a-z' 'A-Z'
输出:
HELLO WORLD
使用 -d
选项删除字符串中的所有空格:
echo "hello world" | tr -d ' '
输出:
helloworld
使用 -s
选项可以将连续的相同字符压缩成一个字符。例如,压缩字符串中的连续空格:
echo "hello world" | tr -s ' '
输出:
hello world
将输入的所有数字替换为 #
:
echo "phone number 12345" | tr '0-9' '#'
输出:
phone number #####
-c
选项)将所有非字母字符转换为 *
:
echo "hello 123!" | tr -c 'a-zA-Z' '*'
输出:
hello****!
删除输入中的所有换行符:
echo -e "line1\nline2\nline3" | tr -d '\n'
输出:
line1line2line3
echo "hello123!@#world" | tr -cd 'a-zA-Z'
输出:
helloworld