You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用jq批量更新本地Mac中的emoji.json文件

嘿,我来帮你搞定用jq批量更新本地emoji.json的事儿!jq处理JSON文件堪称神器,针对你给出的emoji条目结构,我整理了几个最常用的批量更新场景,直接上手就能用:

先做个重要提醒

操作前一定要备份原文件,避免误操作搞丢数据:

cp emoji.json emoji.json.bak

1. 批量给所有emoji条目添加新字段

比如要给每个条目都加一个"source": "custom"字段:

# 输出到新文件,保留原文件
jq '.[] += {"source": "custom"}' emoji.json > updated_emoji.json

# 或者直接原地修改原文件(jq 1.5+支持-i选项)
jq -i '.[] += {"source": "custom"}' emoji.json

2. 批量修改已有字段的值

比如把所有分类(c字段)为"Symbols"的条目,将added_in字段改成"2.0":

jq -i '.[] | if .c == "Symbols" then .added_in = "2.0" else . end' emoji.json

如果要修改所有条目的某个字段(比如把所有has_img_twitter改成true),更简单:

jq -i '.[] |= (.has_img_twitter = true)' emoji.json

3. 批量删除指定字段

比如删掉所有条目中的docomo、au这些运营商相关字段:

# 删除单个字段
jq -i 'del(.[].docomo)' emoji.json

# 同时删除多个字段
jq -i 'del(.[].docomo, .[].au, .[].softbank)' emoji.json

也可以按条件删除,比如只删除has_img_emojione为false的条目的google字段:

jq -i '.[] | if .has_img_emojione == false then del(.google) else . end' emoji.json

4. 针对特定条件的复杂更新

比如给所有short_names包含"copyright"的条目,添加一个tags数组字段:

jq -i '.[] | if .short_names | index("copyright") then .tags = ["legal", "intellectual-property"] else . end' emoji.json

再比如,把所有unified字段格式从"00A9-FE0F"改成小写的"00a9-fe0f":

jq -i '.[] |= (.unified |= ascii_downcase)' emoji.json

内容的提问来源于stack exchange,提问作者Milad Dehghan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 03:36:14