所以我有很多项目。 我需要grep包含数字的每一行:1300及以上。 我怎样才能做到这一点? grep会这样做吗?感谢
答案 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,})'