一个管道命令的问题
我想把一个文件名为test的文件排序后输出排序好的第2至第4行,文件内容为:5
1
4
3
2
我用了这个命令:
sort test | more +2 | head -3
结果输出来却是
1
2
3
而用命令
sort test | head -4 | more +2
输出就是正确的
2
3
4
奇怪,我以为这两条命令的结果应该是一样的啊...
还是因为这几条命令里面有什么东西我没搞清楚?望高手指点 问题出在你用的 more 上。
除非 more 是管道的最后一环,否则它是不会截断上一环的输出的。
因为它被设计用来做过滤“显示”而不是“数据”。 问题出在你用的 more 上。
除非 more 是管道的最后一环,否则它是不会截断上一环的输出的。
因为它被设计用来做过滤“显示”而不是“数据”。
强 :-D 谢谢猫斑竹 :-D
虽然还是没完全搞清楚 :cry:
你的意思是head命令得到的是sort的输出对吧,那么more的输出就消失了?
另外还有什么命令也是像more一样不会截断上一环输出的呢?
努力学习shell中...... 你的意思是head命令得到的是sort的输出对吧,那么more的输出就消失了?就是说, more 发现它自己处在管道的中间,于是就罢工了:mrgreen:
另外还有什么命令也是像more一样不会截断上一环输出的呢?基本上,可以实现分页的命令应该都有这个特点,不过出了 more 和 less 用的比较多以外,还真想不起来还有啥了 :oops: :idea: 明白了
再感谢一下 :P
页:
[1]