tr 是 translate 的缩写。
tr [OPTION] SET1 [SET2]
translate SET1 to SET2
转换大小写
cat "abc" | tr a-z A-Z
cat "abc" | tr [:lower:] [:upper:]
将空白转换成 TABs
echo "a b" | tr [:space:] '\t'
转换括号
echo ‘{abc}’ | tr ‘{}’ ‘()’ (abc)
delete set
删除 -d
指定的字符集
echo "abc" | tr -d 'a'
bc
删除数字
➜ echo "123abc123" | tr -d [:digit:]
abc
删除连续空白
➜ echo "emmmmmmmmmm no" | tr -s [:space:] ' '
emmmmmmmmmm no %
squeeze repeats
echo "abbbbccccbd" | tr -s a-z A-Z
ABCBD
使用 -c 补足
比如说想要删除除了数字之外的内容
➜ echo "my id is 123" | tr -cd [:digit:]
123%
单独使用 -c
选项则表示将 不是 SET1 中的内容,替换为 SET2 中内容
➜ echo 'abc123' | tr -c [:digit:] x
xxx123x%
reference
- man tr