khard查询语言入门:用1个field:value语法精准定位任意联系人 khard查询语言入门用1个field:value语法精准定位任意联系人【免费下载链接】khardConsole vcard client项目地址: https://gitcode.com/gh_mirrors/kh/khardkhard 是一个运行在 Unix 终端里的 vcard 地址簿console vcard client用于创建、查看和编辑本地联系人。而它的查询语言是日常使用中最实用的一招只要记住field:value这一个语法就能从成百上千条联系人中精准锁定目标。本文为新手准备了一份 khard 查询语言完整指南无需编程基础十分钟即可上手。如何安装 khard 命令行通讯录khard 已打包进许多 Linux 发行版也可以直接从 PyPI 一键安装pip install khard如果要从源码构建克隆仓库即可git clone https://gitcode.com/gh_mirrors/kh/khard装好后运行khard template会打印一份空联系人的 YAML 模板——模板里的每个字段名正是查询语言可以使用的字段清单模板定义在khard/data/template.yaml。khard 查询语法从普通搜索到 field:value几乎所有需要选中联系人的子命令list、show、edit、remove、merge等都接受搜索词。普通搜索词全字段模糊匹配khard list foofoo会匹配联系人的任意内容姓名、邮箱、电话、地址都算且忽略大小写。缺点是容易误伤——如果某人的邮箱是barfoo-company.com、另一个人名叫Foo两条结果都会出现。field:value 查询只在一个字段里找khard list name:foo khard list emails:foofield:value把搜索限制在指定字段内上面两条各只命中一条。这个解析逻辑位于khard/query.py的parse()函数字符串以冒号分隔前半段是字段名、后半段是搜索值如果字段名无效整个字符串会退化为普通的全文搜索。khard 支持哪些字段名完整清单字段名与 YAML 模板一一对应空格换成下划线全部小写。字段含义示例name所有姓名字段特殊name:alicephone_numbers电话号码数字匹配phone_numbers:1234emails邮箱emails:example.compost_addresses邮寄地址post_addresses:berlinorganisations公司/组织organisations:acmecategories分类/标签categories:familynicknames昵称nicknames:bobnotes备注notes:meetingwebpages网站webpages:githubtitles/roles头衔 / 职位titles:dr.birthday生日ISO 日期birthday:1990-01-01anniversary纪念日anniversary:2000-05-20kind联系人类型kind:orgfirst_name/last_name名 / 姓last_name:smithuid唯一标识uid:abcd1234三个特殊查询字段 name:——同时匹配全名、名姓与姓名各种顺序、昵称和格式化姓名见khard/query.py中的NameQuery。按人名找人时首选它。phone_numbers:——自动剥离以外的格式字符只按数字匹配。phone_numbers:01012345678能命中010-123-45678国际区号49123456789甚至能自动对应本地写法0123456789数字匹配细节在PhoneNumberQuery中实现。kind:——按联系人类型筛选支持 individual、group、org、location、application、device写前缀即可kind:o就等价于org。多条件组合查询用 AND 精准锁定 在命令行上并列写多个搜索词khard 会以 AND 关系组合它们khard/cli.py会把它们归约成一个AndQuerykhard list name:bob emails:acme.com khard show organisations:acme phone_numbers:010意思是姓 bob 且邮箱含 acme.com 的联系人。条件叠加后命中越精确——配合khard edit、khard remove这类有破坏性的命令这是防止误删误改的关键习惯。再用-a限定地址簿搜索范围就只剩一个本子khard list -a work name:bob联系人特别多时加-f让 khard 直接扫描 .vcf 源文件来加速搜索大地址簿下的最快搜索方法。khard 查询常见坑与排查技巧 ⚠️字段名拼错不会报错email:foo少了个 s不是合法字段于是整个email:foo被当成普通搜索词去全文匹配大概率查不到人。查无结果时先核对字段名拼写。不支持嵌套字段-F输出选项里的phone.cell这类点号字段名不能用于查询只能用顶层字段。大小写不敏感NAME:Bob与name:bob完全等价。日期字段要完整 ISO 格式birthday:1990-01-01是精确匹配birthday:1990查不到人。调试技巧任何命令加--debug都能看到 khard 内部的查询解析过程用khard show --formatyaml查看联系人的完整 YAML 结构确认目标字段名和实际值。更多用法可参考仓库内命令行文档doc/source/commandline.rst。小结 记住一个公式field:value字段名 YAML 模板字段名的小写下划线版找人用name:找号码用phone_numbers:找类型用kind:多个搜索词 AND 组合条件越多越安全字段名拼错会静默退化为全文搜索这是最常见的查不到原因掌握这套 khard 查询语言后你就能在纯终端环境下像使用数据库检索一样快速精准地管理全部联系人。【免费下载链接】khardConsole vcard client项目地址: https://gitcode.com/gh_mirrors/kh/khard创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

最新新闻

SLExpandableTableView入门指南:3步为UITableView添加丝滑的展开/折叠动画

SLExpandableTableView入门指南:3步为UITableView添加丝滑的展开/折叠动画

SLExpandableTableView入门指南:3步为UITableView添加丝滑的展开/折叠动画 【免费下载链接】SLExpandableTableView SLExpandableTableView is a UITableView subclass that gives you easy access to expandable and collapsable sections by just implementing a …

2026/8/23 12:01:22
硬件设备运行小程序:架构、移植与性能优化实战指南

硬件设备运行小程序:架构、移植与性能优化实战指南

1. 项目概述:当硬件遇上小程序,一场轻量化的革命最近几年,小程序这个概念火得不行,从手机端蔓延到了各种智能设备上。你可能已经习惯了在微信里点开小程序点餐、打车,但有没有想过,家里的智能冰箱、商场的广…

2026/8/23 12:01:22
puppy-browser 安全深潜:悬垂指针、mXSS 与 Box::leak 内存泄漏背后的 3 个 Rust 安全教训

puppy-browser 安全深潜:悬垂指针、mXSS 与 Box::leak 内存泄漏背后的 3 个 Rust 安全教训

puppy-browser 安全深潜:悬垂指针、mXSS 与 Box::leak 内存泄漏背后的 3 个 Rust 安全教训 【免费下载链接】puppy-browser An example implementation of a tiny Web browser for educational purposes. 项目地址: https://gitcode.com/gh_mirrors/pu/puppy-brow…

2026/8/23 12:01:22
ACM模式详解:输入输出协议与三语言实战避坑指南

ACM模式详解:输入输出协议与三语言实战避坑指南

1. 什么是ACM模式?它和你刷的“力扣题”根本不是一回事“ACM模式”这四个字最近在程序员求职圈里炸开了锅,但很多人点开卡码网、牛客或者LeetCode的“ACM模式”按钮时,第一反应是——这输入输出格式怎么跟平时练的完全不一样?写个…

2026/8/23 12:01:22
IfcPlusPlus如何用智能指针管理百万级IFC实体而不泄漏内存?

IfcPlusPlus如何用智能指针管理百万级IFC实体而不泄漏内存?

IfcPlusPlus如何用智能指针管理百万级IFC实体而不泄漏内存? 【免费下载链接】ifcplusplus IfcPlusPlus is an open source C class model, as well as a reader and writer for IFC files in STEP format. Features: Easy and efficient memory management using sm…

2026/8/23 12:01:22
多智能体协同预测:破解信息不对称,提升决策精准度

多智能体协同预测:破解信息不对称,提升决策精准度

1. 从单打独斗到群策群力:为什么我们需要多智能体协同预测?在信息爆炸的时代,无论是预测市场趋势、评估项目风险,还是判断技术发展的走向,我们常常面临一个困境:手头的信息看似很多,但真正有价值…

2026/8/23 11:56:22