仅输出特定范围内的值

时间:2015-11-12 23:27:27

标签: grep

我运行一个命令,在我的终端中产生很多行 - 这些行是浮点数。

我只想将某些数字作为终端输出。

我知道我可以将结果传递给egrep:

| egrep“(369 | 433 | 375 | 368)”

如果我只想显示某些值。但是,是否可以只显示值在±50(例如)范围内的行?

2 个答案:

答案 0 :(得分:1)

grep与字符串标记匹配,因此您必须:

  1. 找出所需数字范围的正确字符串匹配(例如,对于300-400,您可能会执行grep -E [34]..之类的操作,并在表达式中添加适当的附加上下文以及一些额外的{{1 } s等于你的浮点精度)
  2. 使用您喜欢使用的任何编程语言将数字字符串转换为实际数字并以此方式过滤
  3. 我强烈建议您采取第二种选择。

答案 1 :(得分:0)

我会选择awk

./yourProgram | awk '$1>250 && $1<350'

e.g。

echo -e "12.3\n342.678\n287.99999" | awk '$1>250 && $1<350'

342.678
287.99999