-- TOC --
Linux命令行有好些专门处理字符串的工具,tr算其中一个,它用来转换或删除字符。
tr - translate or delete characters
$ echo '123123123' | tr '1' 'a'
a23a23a23
$ echo '123123123' | tr '12' 'ab'
ab3ab3ab3
$ echo '123123123' | tr '123' 'abc'
abcabcabc
-d
参数用来删除:
$ echo '123123123' | tr -d '1'
232323
$ echo '123123123' | tr -d '12'
333
$ echo '123123123' | tr -d '123'
-s
参数用来去重(只对连续出现的字符去重,中间有间隔的情况不算重复):
$ echo '111222333111222333' | tr -s '123'
123123
$ echo 'a...b...c...d' | tr -s '.'
a.b.c.d
-c
参数,complement,表示反过来,排除掉,指定哪些是不处理的字符:
$ # 排除掉2和\n,其它都替换成a
$ echo '123123123' | tr -c '2\n' 'a'
a2aa2aa2a
$ echo '123123123' | tr -c '13\n' 'b'
1b31b31b3
$ # 除了1,3和换行,其它都删除
$ echo '123123123' | tr -dc '13\n'
131313
解释一下,echo默认会输出一个换行,因此带上\n
,表示不对换行符号进行处理。
本文链接:https://cs.pynote.net/sf/linux/shell/202201043/
-- EOF --
-- MORE --