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

如何使用Grep从JSON中提取is_verified为true的用户名

从JSON中提取已验证用户的用户名

嘿,我来帮你搞定这个问题!用grep单独处理JSON确实容易踩坑——毕竟JSON的结构可能有换行、空格变化,正则很难完美匹配。下面给你几个靠谱的解决方案:

方法1:用jq(最推荐,专门处理JSON的工具)

jq是处理JSON的神器,语法清晰还能应对各种JSON格式变化,几乎是Linux/macOS系统的标配(如果没有的话,用包管理器比如apt install jq或brew install jq就能安装)。

运行这条命令就能直接提取目标用户名:

jq -r '.[] | select(.is_verified == true) | .username' your_file.json
  • .[]:遍历JSON数组里的每一个用户对象
  • select(.is_verified == true):筛选出is_verified字段值为true的对象
  • .username:提取这些对象的username字段
  • -r:输出原始字符串(不带双引号)

方法2:用Python脚本(兼容性拉满)

如果你的系统没有jq,用Python脚本是最稳妥的选择,不管JSON格式怎么排版都能正确解析:

创建一个名为extract_verified_users.py的脚本:

import json

# 替换成你的JSON文件路径
with open('your_file.json', 'r', encoding='utf-8') as file:
    users_data = json.load(file)

# 遍历并提取符合条件的用户名
for user in users_data:
    if user.get('is_verified') is True:
        print(user.get('username'))

然后运行脚本:

python extract_verified_users.py

方法3:用grep+awk(临时应急方案)

这个方法依赖JSON的格式比较规整(比如username和is_verified的位置相对固定),适合临时快速处理:

grep -B3 '"is_verified": true' your_file.json | grep '"username"' | awk -F'"' '{print $4}'
  • -B3:表示取匹配到"is_verified": true的行前面3行(如果你的JSON里username在is_verified后面,就换成-A3取后面3行,根据实际情况调整数字)
  • grep '"username"':筛选出包含username的行
  • awk -F'"' '{print $4}':按双引号分割字符串,提取第4个部分(也就是用户名内容)

不过要注意,这个方法不够健壮,如果JSON的字段顺序或换行方式变了,可能就失效了,所以还是优先用前两种方法。

内容的提问来源于stack exchange,提问作者Terrisa mark

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:44:35