Linux命令TR

来源:互联网 发布:mac怎么下b站视频 知乎 编辑:程序博客网 时间:2024/06/05 10:48

Linux命令TR


tr介绍

tr - translate characters
是对sed功能的简略版,能够删除和替换字符的一个简易命令

tr [option] string1 [string2]
  • -c -C –complement 填充除了你想要字符之外的character
  • -d –delete 删除
  • -s –squeeze-repeats 替换

代码实现

1 -c参数

echo file|tr -c 'fil' ' 'fil  %   

他会将出fil之外的字符自动补充成空字符串.
接下来看代码是不是支持正则表达式

echo file|tr -c '[a-i]*' ' 'fi e %    

2 -d

echo file|tr -d 'fil'e  %   

换上正则试一试

echo file|tr -d '[a-i]*'l %    

3 -s

echo file|tr -s 'fil' 'tes'tese  %   

换上正则试一试

echo file|tr -s '[a-i]*' 'tes'sls %    

多个参数的使用

大体上的使用就是上面的一些简单操作,接下来试试看多个参数进行测试。我自己尝试了一下能不能对多个文件进行tr,后来好像不太行,翻墙看了下文档和man一下,上面说的是string,那么我认为应该是不能 tr [option] file1 这样的结构的。

tr [-Ccsu] string1 string2tr [-Ccu] -d string1tr [-Ccu] -s string1tr [-Ccu] -ds string1 string2

上面是多个参数的语法

echo abcdefg > atr -cd 'a'< aa

换一个正则看看

echo abcdABCD > btr -cd '[a-cA-B]*' < babcAB% 

根据结果,应该是显示对哪些参数进行了处理。并且对大小写敏感,如果你想要处理一堆大小写混合的数据的话,最好先转换成相同格式的在处理,tr有自带的class对象,man下有很好的说明。我这就举一个大小写转换的例子。

tr '[:lower:]' '[:upper:]' < bABCDABCD

这边就一些入门的例子,记录以便以后忘记,如果对其他class有兴趣的话可以自己去看看。


[2]: man tr

1 0
原创粉丝点击