您的位置:首页 > 运维架构 > Shell

shell学习笔记,tr

2016-04-22 17:28 417 查看
tr,用来从标准输入中通过替换/删除进行字符转换

主要用于删除文件中的控制字符或进行字符转换

使用时,提供两个字符串,串1:用于查询,串2:用于处理各种转换;串1的字符被映射到串2上,然后转换开始

主要用途:1.大小写转换

2.去除控制字符

3.删除字符

命令格式:

tr –c –d –s [“str_from”] [“str_to”] file

-c,用字符串1中字符集的补集替换此字符集,要求字符集为ASCII

-d,删除字符串1中所有输入字符串

-s,删除所有重复出现字符序列,只保留一个,即重复字符串压缩为一个

字符范围——tr,可以指定字符串列表或范围作为形成字符串的模式,似正则,但不是正则。

[a-z] [A-Z] [0-9] /octal一个三位八进制数,对应有效ASCII字符

[s*n]字符s出现n次

tr 中特定字符的不同表达方式

/a

Ctrl-g铃声

/007

/b

Ctrl-h退格

/010

/f

Ctrl-l走纸模式

/014

/n

Ctrl-J新行

/012

/r

Ctrl-M回车

/015

/t

Ctrl-I tab键

/011

/v

Ctrl-x

/030

1. 去除所有重复字符【只保留一个】

$tr –s “[a-z]” < oops.txt

2. 去除空行

$tr –s “[/012]” <oops.txt

$tr –s “[/n]” <oops.txt

3. 小写转大写

$echo “AbcdefG” | tr “[a-z]” “[A-Z]”

$echo “AbcdefG” | tr “[:lower:]” “[:upper:]”

4. 删除指定字符串

$tr –cs “[a-z][A-Z]” “[/012*]” < data.txt

将非字母字符转为新行 -s压缩重复的字符

5. 转换控制字符

$tr –s “[/136]” “[/011*]” < start.txt

6. 快速转换

$tr –s “[/r]” “[/n]” < input.txt

7. 匹配多于一个字符

$tr “[0*4]” “*”< input.txt
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: