无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 3033|回复: 8
打印 上一主题 下一主题

[求助] cat --locate命令如何可以查找超过16字节的字符串?

[复制链接]
跳转到指定楼层
1#
发表于 2013-4-4 18:21:39 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
请教大家应该怎么做呢?搜索了一下说是超过16字节就影响效率,我不追求启动速度,我希望能精确搜索字符串,如果可以的话尽量不用外部命令,请教大家有什么方法?
2#
发表于 2013-4-4 22:36:38 | 只看该作者
你可以自己写一个命令来做你希望做的事情。cat 不支持长字符串的搜索。
回复

使用道具 举报

3#
 楼主| 发表于 2013-4-4 23:10:43 | 只看该作者
可以告诉我用什么比较简单的方法来做到吗?怎样写一个命令?用外部命令也是可以的,什么外部命令能做到啊?我的需求就是要精确的搜索,因为要参照的文本文件中有很多相似的项,而且每行都有50多字节,是为了针对不同配置来启动不同镜像的
回复

使用道具 举报

4#
发表于 2013-4-5 07:22:30 | 只看该作者
第一个是简单的方案,你可以修改一下 cat 命令,达到为你自己服务的目的。如果你的修改带有一般性,也可以提交给 chenall,融入到 grub4dos 的代码库中。

第二个方案是需要写外部命令。由于外部命令的开发文档还未正式公布,所以,你做起来可能不太容易。现有的外部命令好像没有你所需要的功能。

最理想的情况是,将来能够像 Linux 下的 grep 那样能够支持通配符,那样的搜索功能就很强了。但现在没人做这个工作,所以只好你自己动手了。
回复

使用道具 举报

5#
 楼主| 发表于 2013-4-5 13:09:01 | 只看该作者
其实我觉得cat的--locate应该不需要限制搜索的长度才对的,让用户自己确定所需要的搜索长度不行的吗?这是因为grub4dos在实模式下内存空间不足的原因吗?如果可以的话希望改进,不要总局限于16字节
回复

使用道具 举报

6#
发表于 2013-4-6 13:51:19 | 只看该作者
我想可以给cat命令加个参数:--max=N,默认(或不加参数时)N=16
回复

使用道具 举报

7#
发表于 2013-4-6 14:22:03 | 只看该作者
我认为可以优化一下自己的程序,让它不需要搜索超过16字符的东西.
因为每多搜一个字符,使用的时间会成倍增加.应尽量使用简练的搜索.
回复

使用道具 举报

8#
发表于 2013-4-6 19:45:43 | 只看该作者
你可以分成两个部分来搜索啊。
先搜索前半截,如果匹配,再读后面几个字符出来对比一下。
回复

使用道具 举报

9#
发表于 2013-4-7 09:25:24 | 只看该作者
本帖最后由 zhaohj 于 2013-4-7 11:29 编辑

我给你编译一个版本测试一下吧,最大支持32个字节

Snap0.jpg (70.96 KB, 下载次数: 0)

Snap0.jpg

grub4dos-0.4.5c-2013-04-07.7z.rar

258.09 KB, 下载次数: 1, 下载积分: 无忧币 -2

回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-12 02:31

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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