tr

来源:互联网 发布:好用的java开发工具 编辑:程序博客网 时间:2024/05/12 04:55

Usage: tr [OPTION]... SET1 [SET2]

用途:字符转换,将SET1中的字符全部替换为SET2中的字符。如:大小写转换,删除指定字符,浓缩重复字符。

示例:

使用tr做数字相加操作:

来自: http://man.linuxde.net/tr
巧妙使用tr做数字相加操作:

来自: http://man.linuxde.net/tr
巧妙使用tr做数字相加操作:

来自: http://man.linuxde.net/tr
巧妙使用tr做数字相加操作:

来自: http://man.linuxde.net/tr

  1. 巧妙使用tr做数字相加操作:

echo 1 2 3 4 5 6 7 8 9 | xargs -n1 | echo $[$(tr '\n' '+')0]

        2. 删除Windows文件“造成”的'^M'字符:

cat file | tr -s "\r" "\n" > new_file 或 cat file | tr -d "\r" > new_file

        3.去掉文件中多余的空行:

             $tr -s "[\012]" < test
             或$tr -s ["\n"]


常用选项:

-c, -C, --complement    使用SET1的补集
-d, --delete            删除SET1中的字符,不做转换

-s, --squeeze-repeats   将输入中连续重复出现的,并且在SET1中的字符浓缩为一个字符

-t, --truncate-set1    先将SET1截断为和SET2一样的长度

SET取值:

  \NNN           1到3个 8进制数表示的字符
  \\              反斜线
  \a              警告声
  \b             退格
  \f              换页
  \n             换行
  \r              回车
  \t              水平制表符
  \v              垂直制表符
  CHAR1-CHAR2     从 CHAR1 到 CHAR2 升序排列的所有字符
  [CHAR*]         在SET2中使用,复制 CHAR 直到SET2和SET1长度一致
  [CHAR*REPEAT]   重复复制CHAR, 如果CHAR以0开头,CHAR作为8进制被重复复制
  [:alnum:]       所有的字母和数字
  [:alpha:]       所有的字母
  [:blank:]       所有的水平空格
  [:cntrl:]       所有的控制字符
  [:digit:]       所有的数字
  [:graph:]       除空格以外的所有打印字符
  [:lower:]      所有的小写字母
  [:print:]       包括空格在内的所有打印字符
  [:punct:]      所有的标点符号
  [:space:]       所有的空格包括换行
  [:upper:]       所有的大写字母
  [:xdigit:]      所有的十六进制数
  [=CHAR=]        所有和CHAR相等的字符



0 0
原创粉丝点击