0%

tr命令

如题

  tr是单个字符处理程序,用于替换或删除字符串或文件中出现的单个字符

1.将文件file中出现的”abc”替换成”xyz”

1
#cat file | tr "abc" "xyz" > new_file

注意:凡是file中出现的”a”都会替换成”x”,凡是出现的”b”都会替换成”y”,凡是出现的”c”都会替换成”z”,而不是将字符串”abc”替换成”xyz”

2.将小写替换成大写

1
#cat file | tr [a-z] [A-z] > new_file

3.删除文件file中出现的”hello”字符

1
#cat file | tr -d "hello" > new_file

注意:是删除文件里出现的所有的’h’,’e’,’l’,’o’字符,而不是删除字符串”hello”

4.删除file中出现的换行符和制表符

1
#cat file | tr -d "\n\t" > new_file

5.删除除了某些字符的其他字符

1
#cat file | tr -cd "hello" > new_file

6.把路径变量中的冒号替换成换行符

1
#echo $PATH | tr -s ":" "\n"

7.删除file中重复的小写字符

1
#cat file | tr -s [a-z] > new_file

8.删除空行

1
2
#tr -s "[\012]" < new_file
#tr -s ["\n"] < new_file

9.将文件中的^M换成换行符

1
2
#tr -s "[\015]" "[\n]" < new_file
#tr -s "\r" "[\n]" < new_file

主要选项意义
-c: 除去列表中的字符,通常配合-d,-s选项
-d: 删除列表中的字符,不是转换
-s: 删除重复的字符,如果标准输入里出现了重复多次的source-char-list里所列的字符,将其浓缩成一个