вы можете сделать это в одну строку, используя awk!Предположим, у меня есть образцы данных (которые я использую, чтобы имитировать ваши):
1 15 18
2 17 6
3 14 98
4 17 25
5 9 3
Вот как вы делите столбец 3 на столбец 2, используя awk:
awk '{print $3/$2}' example_file.txt
печать на стандартный вывод:
1.2
0.352941
7
1.47059
0.333333
Теперь, скажем, из этого я хотел, чтобы только те значения, которые были меньше 1:
awk '{if ($3/$2 < 1) print $0}' awk_tester.txt
возвращает полные строки:
2 17 6
5 9 3
теперь, еслинам нужно фактическое значение:
awk '{if ($3/$2 < 1) print $3/$2}' awk_tester.txt
возвращает:
0.352941
0.333333
Если ваш разделитель полей равен ':', просто добавьте это в начало каждой команды awk:
-F ':'
вот так:
awk -F ':' '{if ($3/$2 < 1) print $3/$2}' awk_tester.txt