首页 > 解决方案 > 如何使用 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

以上与数据的格式类似,虽然没有制表。

标签: linuxunixsedgrep

解决方案


你必须使用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])$"


推荐阅读