如何grep数字和超过该数字的所有数字?

时间:2014-06-24 13:50:31

标签: linux grep

所以我有很多项目。 我需要grep包含数字的每一行:1300及以上。 我怎样才能做到这一点? grep会这样做吗?感谢

2 个答案:

答案 0 :(得分:3)

虽然技术上grep可能不是这项工作的最佳工具。如果列表采用固定格式,您最好使用awk

之类的内容

示例输入:

a b c 1100 d e f
g h i 1200 j k l
m n o 1300 p q r
s t u 1400 v w x

示例代码:

awk -F' ' '($4 >= 1300) { print $0 }' input_file

示例输出:

m n o 1300 p q r
s t u 1400 v w x

awk遍历每一行,将其拆分为标记,由空格分隔(由参数-F' '指定,默认情况下它已使用空格但在此处明确显示它可让您将其更改为但是你的文件格式化了)。然后逻辑对于字段4中大于或等于1300的所有值说明,打印行(print $0)。

答案 1 :(得分:1)

是的,您可以使用grep执行此操作,类似于:

$ grep -E '(1[3-9][0-9]{2}|[2-9][0-9]{3}|[1-9][0-9]{4,})'