QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 799|回复: 5

一个管道命令的问题

[复制链接]
发表于 2004-10-6 21:23:06 | 显示全部楼层 |阅读模式
我想把一个文件名为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

奇怪,我以为这两条命令的结果应该是一样的啊...
还是因为这几条命令里面有什么东西我没搞清楚?望高手指点
发表于 2004-10-7 19:09:55 | 显示全部楼层
问题出在你用的 more 上。
除非 more 是管道的最后一环,否则它是不会截断上一环的输出的。
因为它被设计用来做过滤“显示”而不是“数据”。
回复

使用道具 举报

发表于 2004-10-7 19:56:08 | 显示全部楼层
[quote:7bc31cdc78="dannycat"]问题出在你用的 more 上。
除非 more 是管道的最后一环,否则它是不会截断上一环的输出的。
因为它被设计用来做过滤“显示”而不是“数据”。[/quote]
回复

使用道具 举报

 楼主| 发表于 2004-10-8 19:59:32 | 显示全部楼层
谢谢猫斑竹
虽然还是没完全搞清楚
你的意思是head命令得到的是sort的输出对吧,那么more的输出就消失了?
另外还有什么命令也是像more一样不会截断上一环输出的呢?


努力学习shell中......
回复

使用道具 举报

发表于 2004-10-8 20:49:23 | 显示全部楼层
[quote:bdcf97292d="w2w2k2k2"]你的意思是head命令得到的是sort的输出对吧,那么more的输出就消失了?[/quote]就是说, more 发现它自己处在管道的中间,于是就罢工了

[quote:bdcf97292d="w2w2k2k2"]另外还有什么命令也是像more一样不会截断上一环输出的呢?[/quote]基本上,可以实现分页的命令应该都有这个特点,不过出了 more 和 less 用的比较多以外,还真想不起来还有啥了
回复

使用道具 举报

 楼主| 发表于 2004-10-9 13:18:37 | 显示全部楼层
明白了
再感谢一下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-9-19 19:20 , Processed in 0.042224 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表