Количество строк <значение, где была предыдущая строка> значение - PullRequest
2 голосов
/ 05 февраля 2020

У меня есть такой набор данных:

3.3362994
3.3468399
3.3524561
3.3526943
3.2417695
3.3313386
3.3288026
3.3173411
3.3031421
3.2790108
3.3720325
3.2597685
3.2472827
3.2393241

Я бы хотел посчитать, сколько раз строка будет <3.3, но только если предыдущая строка> 3.3. Я пытался

awk '$1 < 3.3 && prev > 3.3 {c++} END { print c+0 }' 

, но он возвращает 0, что неверно.

Любые идеи о том, что я делаю неправильно.

Любая помощь очень ценится.

1 Ответ

1 голос
/ 06 февраля 2020

Ну, вы можете попробовать:

awk 'BEGIN{prev = 0; count=0} {if($1 < 3.3 && prev > 3.3)count = count+1; prev=$1} END {print count}' inputFile.txt
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...