红联Linux门户
Linux帮助

关于tr命令的疑惑,求解

发布时间:2012-06-28 10:11:20来源:红联作者:半步天涯
$tr "ABC" "[z*]" < alph.txt

这句话的作用是将alph.txt中的ABC替换为Z,但是为什么是 Z* 而不是z 任意个Z和一个Z在这里没区别的吧,反正它是按字符,一个一个检查替换的。
文章评论

共有 12 条评论

  1. guoczcq 于 2012-07-01 22:23:43发表:

    跟进了

  2. djffdnsdvbj 于 2012-07-01 20:46:45发表:

    1 [/i] / / / [/i]
    [/i]
    [/i]

  3. 相思爱文 于 2012-06-30 22:09:57发表:

    cat a.txt |tr "[a-z]" "[A-Z]" >b.txt
    是把a.txt中的所有小写字母,替换成大写,写入b.txt中
    读书时,把所有实例都亲自测试下

  4. 相思爱文 于 2012-06-30 22:07:26发表:

    [i=s] 本帖最后由 相思爱文 于 2012-6-30 22:18 编辑 [/i]

    不是SET1 替换[SET2]
    是SET2替换STE1
    可自己用实例测试,文档中也有说明
    echo abcdefg|tr "[a-z]" "[A-Z]"
    输出ABCDEFG

  5. 半步天涯 于 2012-06-30 16:42:22发表:

    [i=s] 本帖最后由 半步天涯 于 2012-6-30 16:49 编辑 [/i]

    8# 相思爱文



    度娘查不到的,规则里没有。


    书上的原文如下

    ======================================================
    8、删除Windows文件“造成”的'^M'字符

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

    【注意】这里-s后面是两个参数"\r"和"\n",用后者替换前者

    ===========================================================


    \r用\n替换,为什么用-s参数? 还“用后者替换前者”,
    不是SET1 替换[SET2] 吗?

    例如:
    (4)大写到小写
    cat a.txt |tr "[a-z]" "[A-Z]" >b.txt


    小菜鸟,麻烦你了。

  6. 相思爱文 于 2012-06-30 00:40:16发表:

    7# 半步天涯


    http://www.linuxso.com/command/tr.html

  7. 半步天涯 于 2012-06-29 21:06:59发表:

    6# 相思爱文


    tr A B

    不是用A替换B吗?


    但是在这里,怎么后者替换前者了?

  8. 相思爱文 于 2012-06-28 14:10:35发表:

    \r是换行加回车,也就是windows下的回车,其实是两个字符,是换行+回车。
    \n是换行,在linux中编辑文档时,按回车只有一个换行,就是\n。

  9. 半步天涯 于 2012-06-28 12:36:12发表:

    8、删除Windows文件“造成”的'^M'字符

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

    【注意】这里-s后面是两个参数"\r"和"\n",用后者替换前者
    这个主意是什么意思? -s是去除重复项,怎么后者替换前者了?

  10. 半步天涯 于 2012-06-28 12:28:42发表:

    nonono,是单个字符匹配的,,,,

  11. 半步天涯 于 2012-06-28 12:22:32发表:

    2# 相思爱文




    那 ”ABC“ 会被拆分后单独匹配还收当做一个整体。。。

    应该是整体吧。。。。

    英文版的LD 鸭梨很大,电脑配置垃圾,开不了桌面。。

  12. 相思爱文 于 2012-06-28 11:40:35发表:

    tr --help

    tr [选项]... SET1 [SET2]

    [字符*] 在SET2 中适用,指定字符会被连续复制直到吻合设置1 的长度