Chinaunix首页 | 论坛 | 博客
  • 博客访问: 612083
  • 博文数量: 66
  • 博客积分: 4015
  • 博客等级: 上校
  • 技术积分: 1667
  • 用 户 组: 普通用户
  • 注册时间: 2007-11-30 11:18
文章分类

全部博文(66)

文章存档

2010年(1)

2008年(65)

我的朋友

分类: LINUX

2008-05-03 22:02:46

tr 转换,压缩,截短,删除字符
        tr [option].....set1 [set2]

参数:
        -d,--delete
                删除字符串1中的字符,不进行转换。
        -s,--squeeze-repeats
                将重复出现字符串压缩为一个字符串。
        -t,--truncate-set1
                将字符串1的长度截成字符串2的长度。
        -c,--complement
                取字符串1的补集。要求字符集为ASCII。
        --help 打印帮助。
        --version 显示版主信息。
转义字符如下:
     \NNN 字符的八进制码
    \\ 反斜线
    \a BELL响铃
    \b 空格
    \c 不打印新行符
    \n 新行
    \r 回车
    \t 横向跳格
    \v 坚向跳格
字符模式:
        CHAR1-CHAR2     表示从字符CHAR1到CHAR2.如a-z,A-Z...
        [CHAR*]         表示一个或连续几个CHAR。
        [CHAR*REPEAT]   表示REPEAT个数个CHAR。
        [:alnum:]       表示所有字母和数字。
        [:alpha:]       表示所有字母。
        [:blank:]       表示横向空格。
        [:cntrl:]       表示控制字符。
        [:digit:]       表示所有数字。
        [:graph:]       表示可打印字符,不包括空格。
        [:lower:]       表示小写字母。
        [:upper:]       表示大写字母。
        [:print:]       表示可打印字符,包括空格。
        [:xdigit:]      表示十六进制数字。
        [=CHAR=]        表示CHAR

例子:

1: 大小写转换
    echo i love you | tr [:lower:] [:upper:]
    echo i love you | tr "i" "I"

2: 压缩重复字符
    tr -s [:alpha:] < file_name
    tr -s \n < file_name (压缩连续空行)

3: 删除字符
    tr -d [:blank:] < file_name
    echo love | tr -d [=o=]

4: 压缩转换
    tr [a*3] "*" < file_name
阅读(1328) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~