红联Linux门户
Linux帮助

grep加上重定向的神奇作用

发布时间:2011-05-07 01:37:31来源:红联作者:变换之风1986
请问 grep this test.txt > test.txt 这条语句为什么能让test.txt为空呢??
文章评论

共有 7 条评论

  1. yanyongkg 于 2011-05-07 22:51:36发表:

    引用:
    grep this test.txt > test.txt
    但是当test.txt中存在this时,test.txt中的内容也是空的,为什么呢

    用 grep this test.txt >> test.txt确可以正常的往里面加上this
    SMIRACLE 发表于 2011-5-7 11:07



    同样的疑问{:2_98:}

  2. ztguang 于 2011-05-07 18:02:31发表:

    [i=s] 本帖最后由 ztguang 于 2011-5-7 18:04 编辑 [/i]

    grep this test.txt > test.txt

    关键是对 重定向 的理解(先 删除,再 创建),
    上面命令的执行过程是:
    1. 删除 test.txt
    2. 创建 test.txt,此时 test.txt 为空
    3. grep this test.txt 结果为空,因此 test.txt 为空

  3. chengshiding 于 2011-05-07 11:48:28发表:

    可能是缓冲区里的内容没有及时写入文件吧

  4. SMIRACLE 于 2011-05-07 11:07:03发表:

    [i=s] 本帖最后由 SMIRACLE 于 2011-5-7 11:25 编辑 [/i]

    grep this test.txt > test.txt
    但是当test.txt中存在this时,test.txt中的内容也是空的,为什么呢

    用 grep this test.txt >> test.txt确可以正常的往里面加上this

  5. 兼职人 于 2011-05-07 10:11:22发表:

    grep this 的结果为空,所以test.txt文件也被清空了,但是很少有这么用的。

  6. 心蓝波波 于 2011-05-07 09:40:40发表:

    因为你grep的结果是空的,所以输入到txt中就把它清空了

  7. 相思爱文 于 2011-05-07 09:13:36发表:

    这应该是错误的方法,一般情况下不应该这么用的。