2015-11-12 4 views
0

Я запускаю команду, которая производит много строк в моем терминале - линии являются поплавками.Только выходные значения в пределах определенного диапазона

Я хочу, чтобы определенные номера выводились как строка в моем терминале.

Я знаю, что я могу передать результаты в задать расширенное:

| egrep "(369 | 433 | 375 | 368)"

Если я хочу, чтобы отображались только определенные значения. Но возможно ли иметь только строки, которые имеют значение в пределах ± 50 из 350 (например)?

+0

Один поплавок на линию? –

ответ

1

grep матчи против строковых лексем, так что вы должны либо:

  1. фигуры из правой матч строки для номера в диапазоне вы хотите (например, для 300-400, вы можете сделать что-то вроде grep -E [34].., с соответствующий дополнительный контекст добавляется к выражению и ряду дополнительных . с равным вашей плавающей точкой точности)
  2. преобразовать число строк в действительные числа в любом языке программирования вы предпочитаете использовать и фильтровать их таким образом

Я настоятельно рекомендую вам сделать второй вариант.

0

Я бы с awk здесь:

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

например

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

342.678 
287.99999 
Смежные вопросы