2016-06-17 2 views
1

У меня есть файл с диапазоном входов от 0 до 100. Я хочу создать процент чисел ниже диапазона значений.Процент чисел в диапазоне

Можно ли это сделать в awk? Может ли кто-нибудь показать мне пример этого.

 Eg input file: 1, 4, 6, 7, 7, 7, 8, 9, 2, 4 
    output: 
     below 2: 20% 
     below 4: 40% 
     below 6: 50% 
     below 8: 90% 

** включены ниже или равна

+0

Да. Опубликуйте [mcve], включая сжатый, тестируемый ввод проб и ожидаемый результат, и мы можем начать помогать вам. –

ответ

0

Предполагая, что данные в файле a.txt:

awk -v limit=16 '$1 < limit {count++} END {print 100*count/NR}' a.txt 

limit Где это пороговое значение, он просто подсчитывает элементы меньше предела ($1 < limit), и после того, как все строки будут прочитаны, он будет распечатывать счет, деленный на количество записей (NR).

+0

Никогда не используйте весь верхний регистр для имен переменных, так как он может столкнуться со встроенными именами, и, как написано, вы получите деление на нулевую ошибку для пустого файла. –

+0

Исправлено ограничение, но что касается пустого файла, это ошибка, потому что то, что должно быть написано 100 или 0? –

+0

Спасибо. Это работает. – zerodb

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