regex - grep 两位数的列
问题描述
我有一个 csv 文件,其中包含不同用户的日志。我需要使用 grep 查看特定使用的 id 的记录。
我需要的输出是第一列中的用户 id '37' 和该用户 id 的所有条目。在这方面花了很多时间。
我特别需要为此使用“grep”。
我正在使用 - grep "^37" 文件。
这为我提供了以 37 开头的用户 ID 的所有条目。我只需要 37。
解决方案
Rodrigo López 的评论是一个有效的答案,这是我的看法:
grep "^37[^0-9]"
您正在寻找一行37
开头 ( ^
) 的数字 ( ),后跟一个分隔符(后面不跟其他数字)。
[^0-9]
匹配任何不是数字的字符。
不要犹豫,写下你的思考过程,你在寻找什么,这将使找到正确的正则表达式更容易。尝试查找示例、反例等。您还应该阅读 grep 的man
页面,或查看众多grep
教程之一。试试regexr.com。
推荐阅读
- r - 一起使用 summarise、cross 和 quantile 函数
- javascript - 未捕获的类型错误:无法读取网球比赛中未定义的属性“宽度”
- r - 使用 group by 聚合 R 中的数据并保留其他非 NA 列的值
- wcf - 向 WCF 添加招摇
- php - 创建一个免费的邮件程序,HTML 表单不会发布到 PHP 代码
- python - 尝试在 Django 中执行数据库迁移时突然出现 django.core.exceptions.ValidationError ['“NA”值必须为 True 或 False。']
- python - 似乎无法在 Python 中拆分字符串
- python - 使用 matplotlib 绘制 sin wav 的傅立叶变换
- node.js - 使用 docker compose 时,Discord bot 无法联系不和谐服务器
- performance - 在 chrome 中的 React 应用程序中不断“渲染”屏幕外元素