tr-转换或者删除字符

tr:
       转换或者删除字符, 要特别注意是按字符处理不是字符串


语法格式:
       tr [OPTION]... SET1 [SET2] 
       
参数说明:
        -s, --squeeze-repeats    把连续重复的字符以单独一个字符表示;       
                                 替换字符, 当参数SET2存在时(同时也去掉重复)


        -d, --delete             删除所有属于第一字符集的字符


        -t, --truncate-set1      将set1的字符依次替换成set2中的字符, 如果 \
                                 set1中的字符数目超过set2, 那么set1多出的 \
                                 字符忽略. 如果没有-t, 那么多出的字符都替 \
                                 换成set2的最后一个字符.


       -c                        用SET2最后的字符替换SET1补集内的字符


说明: 在vim中可以直接使用tr命令。使用示例如下: 1,$!tr -s ":' ","。 \
       其中1,$表示的是范围:从第1行到最后一行;!表示在vim中执行命令


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


字符范围:
[a-z] a-z内的字符组成的字符串。
[A-Z] A-Z内的字符组成的字符串。
[0-9] 数字串。
\octal 一个三位的八进制数,对应有效的ASCII字符。
[O*n] 表示字符O重复出现指定次数n。因此[O*2]匹配OO的字符串。


示例:
tr -cs "[^a-z][^A-Z]" "\012" < a.txt
    把所有非英语字母替换为换行符, 然后再压缩空行.


tr -s "csf" "lxy" < a.txt
    把csf替换成lxy


tr -s "csf" < a.txt
tr -s "[a-z]" < a.txt
    第一个把重复的c,s和f压缩成一个c,s和f; t第二个把重复的小写字母压缩成一个


tr -d "csflxy < a.txt
        删除c,s, f, l, x, y字符




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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值