Как подсчитать значения, соответствующие определенному условию?

Например, у меня есть файл с числом столбцов

входной файл

12 15 27 5 6 48 19 16 25 17 23 37 

и т.д

Я хочу, например, подсчитать все числа ( X ) в столбце 2, которые удовлетворяют следующему условию 6 <= X < 20

поэтому результат будет равен 3 соответствующему номерам 15 , 6 и 16 .

2 Solutions collect form web for “Как подсчитать значения, соответствующие определенному условию?”

Это достаточно просто в инструменте, таком как awk

 awk '$2>=6 && $2<20 { tot++ } END { print +tot}' 

Если вы хотите их суммировать,

 awk '$2>=6 && $2<20 { tot += $2 } END { print +tot}' 

Для отмеченных условий легко пройти все необходимые номера

 grep -Ec '^[0-9]+\s+([6-9]|1[0-9])\b' 
  • Передача параметра одиночной кавычки
  • Состояние выхода Bash, используемое с PIPE
  • Следует ли указывать переменные при выполнении?
  • Параллелизируйте цикл Bash FOR Loop
  • Меню KSH, основанное на тексте, с использованием STDERR
  • Найти файл, проверить размер и перезаписать, когда размер файла отличается
  • Как убить два или несколько процессов с помощью одной команды kill?
  • почему csv потребляет больше размера файла в моем скрипте unix?
  • Преобразование вывода диска в читаемую HTML-почту
  • добавить имя файла в текст в углу файла изображения
  • Команда cat не работает внутри сценария оболочки
  • Linux и Unix - лучшая ОС в мире.