linux - 如何使用 grep 从 txt 文件中获取大于 50 的数字
问题描述
我对 grep 和 unix 比较陌生。我正在尝试从 txt 文件中获取赢得 50 多场比赛的人的姓名。到目前为止,我使用的代码是,cat file.txt|grep -E "[5-9][0-9]$"
但这只是给我 50-99 的数字。我怎么能从50-200得到它。谢谢!!
司机 | 比赛 | 获胜 |
---|---|---|
Some_Man | 90 | 160 |
Some_Man | 10 | 80 |
以上与数据的格式类似,虽然没有制表。
解决方案
你必须使用grep吗?你可以像这样使用 awk:
awk '{if($[replace with the field number]>50)print$2}' < file.txt
假设您的字段由空格分隔,否则您可以使用 -F 标志来指定分隔符。
如果你必须使用 grep,那么它就像你做的那样是正则表达式。要使其达到 50 到 200,您将执行以下操作:
cat file.txt|grep -E "(\b[5-9][0-9]|\b1[0-9][0-9])$"
推荐阅读
- python - 具有大量数字的最小二乘优化
- javascript - Discord.js + Node.js: SyntaxError: Unexpected token '{'
- undefined - 错误类型错误:无法读取未定义的属性(读取“数量”) - Angular 12
- sql - 查询对前“n”条记录求和
- typescript - Vue UnwrapRefSimple
泛型类型不能在反应时分配给 T - algorithm - 一条射线和一组圆的第一个交点?
- python - 如何使用python登录
- reactjs - 'react-router-dom 404 for subRoute
- reactjs - Google OAuth Firebase signInPopup 无法正常工作
- jquery - 使用图像选择器插件上传多个图像并使用asp.net核心中的ajax发送到控制器?