shell tr

2011-06-20 11:03 88人阅读 评论(0) 收藏 举报

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


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值