Bash 命令 —— tr


tr 对字符进行转换

使用:

1.   tr a A < old  将old文件中所有小写a替换为大写A

2.  tr a A < old > new 将old文件中所有小写a替换为大写A并保存到new文件中

3.  tr abc ABC < old > new  按照字符映射进行替换 a => A , b => B, c => C

4.  tr abcde AX < old > new 第二组字符少于第一组字符,所以bcde均被替换为X

5.  tr ':;?' \. < old > new 将冒号分号和问号都替换为点号

6.  tr A-Z a-z < old > new 将大写字母全部替换为小写字母

7.  tr [:upper:] [:lower:] < old > new 将大写字母全部替换为小写字母

8.  tr 0-9 A-J < old > new 将数字0-9替换为字母A-J

9.  tr [:digit:] A-J < old > new 将数字0-9替换为字母A-J

10. tr '\r' '\n' < macfile > unixfile  将回车改变成新行

11. tr '\015' '\012' < macfile > unifile 将回车改变成新行

12. tr '\t' ' ' < old > new 将制表符改变为空格

13. tr '\011' ' ' < old > new 将制表符改变为空格

选项:

-s : 将第一组中多个连续字符替换为一个单独的字符

    tr -s 0-9 X < old > new  将连续数字替换为一个X

    tr -s ' ' ' ' < old > new  将多个连续空格合并为一个空格

-d : 删除指定字符

    tr -d '()' < old > new 删除左右圆括号

    tr -d 0-9 < old > new 删除所有数字

-c : 匹配所有不在第一组中的字符

   tr -c ' \n' x < old > new  将除空格和新行字符之外的所有字符都替换为x