Chinaunix

标题: 问个问题 [打印本页]

作者: 吹拂的晨风    时间: 2008-05-07 14:18
标题: 问个问题
假如文件1.txt有1000行,那么下面的命令将得到什么结果呢,为什么?

tail -100 1.txt > 1.txt
作者: shiney.H    时间: 2008-05-07 14:58
先读入缓存, 再覆盖文件,   just have a try
作者: 吹拂的晨风    时间: 2008-05-07 15:01
标题: 回复 #2 shiney.H 的帖子
我已经try了,楼上的你知道是什么结果吗,为什么会有这种结果啊,也请你也try一下!
作者: shiney.H    时间: 2008-05-07 15:14
1.txt 被置空了!

很好的问题, 可以探索下去
作者: shiney.H    时间: 2008-05-08 09:43
Clear now.
如其他的语言编译顺序一样, 是从右到左的

tail -100 1.txt > 1.txt   就会先置空1.txt, 然后读入前面的输出

如果换成
tail -100 1.txt >> 1.txt  改成追加, 那就不会覆盖原来的内容
作者: 吹拂的晨风    时间: 2008-05-09 14:40
标题: 回复 #5 shiney.H 的帖子
覆盖不是我的目的!
作者: steedz    时间: 2008-05-09 15:36
那你就这样,国米球迷:

tail -100 1.txt > 2.txt ; mv 2.txt 1.txt

如何?




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2