实现“更多”Unix实用程序命令
我正在尝试实施更多命令.我想知道如果有管道我怎么能理解.例如,如果我从
shell键入
cat file1 file2 | more 我怎么能处理更多的内部执行? 并且更多可用作开源的实现? 实际上我无法读取stdin.我已经管理了更多的file.txt而不是cat文件更多.. 我想我应该首先从用户读取并放一个缓冲区而不是打印缓冲区.我的代码包含: if(argc == 1) { fgets(line,255,0); printf("%s",line); } 但它给出了错误. 解决方法
语法越多
more [options] [file_name] 如果您不提供文件名,则more命令从stdin获取输入;您可以使用管道提供此输入(通过stdin),例如: cat file.txt | more 这会将cat命令的输出发送给更多.这和做的一样: more file.txt 你不需要特别知道是否有管道;你只需要检查文件名是否作为参数传递给更多.如果是,则输入被视为文件的内容.如果不是,则认为输入源自stdin. 至于源代码,一些谷歌搜索将带你走很长的路.以下是FreeBSD的一些旧源代码: http://svnweb.freebsd.org/base/stable/2.0.5/usr.bin/more/ 或者来自Ubuntu存储库的更多来源: http://bazaar.launchpad.net/~vcs-imports/util-linux-ng/trunk/files/head:/text-utils/ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |