tr
translate or delete characters
- 命令:
tr [OPTION]... SET1 [SET2] - 参数:
-c,--complement:反选设定字符。也就是符合 SET1 的部份不做处理,不符合的剩余部份才进行转换
-d,--delete:删除指令字符
-s,--squeeze-repeats:缩减连续重复的字符成指定的单个字符
-t, --truncate-set1:削减 SET1 指定范围,使之与 SET2 设定长度相等
用法1:把输入的数据当中的字符,凡是在SET1定义范围内出现的,通通对位转换为SET2出现的字符
tr SET1 SET2 < /PATH/FROM/SOMEFILE
示例:
[root@centos7 test]# cat tst.txt
aaaa
bbbb
cccc
dddd
[root@centos7 test]# tr [a-z] [A-Z] < ./tst.txt
AAAA
BBBB
CCCC
DDDD
练习:将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out中
[root@centos7 ~]# cat /etc/issue
\S
Kernel \r on an \m
[root@centos7 ~]# cat /tmp/issue.out
cat: /tmp/issue.out: No such file or directory
[root@centos7 ~]# cat /etc/issue | tr '[:lower:]' '[:upper]' > /tmp/issue.out
[root@centos7 ~]# cat /tmp/issue.out
\S
Kp]]p] \] ]] [] \]
用法2:删除字符
示例:
tr -d SET1 < /PATH/FROM/SOMEFILE
>[root@centos7 test]# cat tst.txt
>abcdefg
>bbbb
>cccc
>dddd
>[root@centos7 test]# tr -d a < ./tst.txt
>bcdefg
>bbbb
>cccc
>dddd
注意:不修改原文件