Ubuntu 21.04. 我想使用 plocate 搜索多个数据库(为外部驱动器创建):
plocate -d ~/.db1.db:~/.db2.db: -i -r "SEARCH_TERM"
每当我使用我知道在 db2 中具有匹配结果的查询运行该查询时,我得到的结果都会以以下内容结尾(在 db1 中的匹配列表之后):
~/.db2.db: No such file or directory
即使我交换两个 db 的顺序,也会报告该情况,即 2 & 1 而不是 1 & 2。在这种情况下,它会报告:
~/.db1.db: No such file or directory
即使我在交换之前运行过它并在 db1 中发现匹配。
那是甚至如果我两次指定同一个数据库,即 db1 & db1 或 db2 & db2,则会出现这种情况。首先,它会列出来自 dbX 的匹配项,然后在最后报告 dbX 没有这样的文件或目录。
plocate 的手册页如下:https://plocate.sesse.net/plocate.1.html 表示冒号字符可用于分隔先前使用 updatedb 创建的不同数据库。我还在网上发现有人建议,末尾冒号不带任何内容可确保默认数据库也将被包含/搜索。
如果我只提供一个自定义数据库:
plocate -d ~/.db1.db: -i -r "SEARCH_TERM"
然后我得到了类似的结果(在 db1 的匹配之后):
No such file or directory
我认为这与默认数据库有关?
观察到的行为似乎表明,实际上只搜索了第一个数据库,并且任何第二列出的数据库会产生错误,即使还列出了第三个数据库。我通过将默认数据库放在中间来检查:
plocate -d ~/.db1.db::~/.db2.db -i -r "SEARCH_TERM"
我再次收到看似与默认数据库相对应的错误消息:
No such file or directory
并且仅从 db1 中找到匹配项,而不是 db2。