Linux命令:替换与删除 tr

tr 在linux命令中是 translate的缩略,主要用于对单个字符的替换或是删除 (作用对象是单个字符,或字符集,不能替换单词)

tr的语法
tr [选项] 文字集1 [文字集2]
-d	--delete	删除包含在字符集里的字符
-s	--squeeze-repeats	压缩包含在字符集里的字符
-c	--complement	对象为字符集以外的字符

tr 不能直接输入文件名,需要使用管道 | 输入数据

下面的例子中将文件里的a,b,c,替换为1,2,3

$ cat test.txt 
abc 1
bcd 2
cde 3
def 4
efg 5

$ cat test.txt | tr abc 012
012 1
12d 2
2de 3
def 4
efg 5

可以使用A-Z等缩略形式,下面的例子将文件中小写字母转换成大写字母

$ cat test.txt | tr a-z A-Z
ABC 1
BCD 2
CDE 3
DEF 4
EFG 5

压缩多个相同字符 (-s)

-s 选项可以压缩多个相同字符为一个,可以用来消除多余空格等操作

$ cat test2.txt 
aaaaaa 123
aaaaab 234
aaabcd 345

$cat test2.txt | tr -s a 
a 123
ab 234
abcd 345

删除字符 (-d)

-d 选项可以删除指定的字符

$ cat test2.txt | tr -d a 
 123
b 234
bcd 345

发表评论

Fill in your details below or click an icon to log in:

WordPress.com 徽标

您正在使用您的 WordPress.com 账号评论。 注销 /  更改 )

Twitter picture

您正在使用您的 Twitter 账号评论。 注销 /  更改 )

Facebook photo

您正在使用您的 Facebook 账号评论。 注销 /  更改 )

Connecting to %s