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

使用grep筛选CSV文件第一列数值大于10且小于99的行

原有命令问题说明

你当前使用的命令存在两个核心问题:

  • 没有锚定行首,正则会匹配任意列出现1开头数字的行,无法限定只判断第一列的数值
  • 正则规则未匹配>10且<99的数值范围,会命中10、122这类不符合要求的数值
使用grep的正确实现

利用正则锚定行首,分范围匹配第一列的合法数值,命令如下:

grep '^\(1[1-9]\|[2-8][0-9]\|9[0-8]\),' demographic_info.csv

正则逻辑说明:

  • ^ 锚定行首,确保匹配的是第一列内容
  • 1[1-9] 匹配11~19的数值
  • [2-8][0-9] 匹配20~89的数值
  • 9[0-8] 匹配90~98的数值
  • 末尾的逗号确保匹配的是第一列的完整值,避免误判三位及以上数值的前两位
更简便的替代方案

如果允许使用awk,按字段做数值判断逻辑更直观,不易出错:

awk -F, '$1>10 && $1<99' demographic_info.csv

该命令直接指定逗号为字段分隔符,对第一列做数值比较,自动输出符合条件的行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 02:36:03