AWK, похоже, не может сравниться с цифрой c, когда поле является текстовым.
% cat tt 1 2 3 a 100 c x y z % awk '{if($2>10){print}}' tt a 100 c x y z
Ожидается увидеть только «100 c». В чем подвох?
https://www.gnu.org/software/gawk/manual/html_node/Comparison-Operators.html
"Выражения сравнения имеют значение один, если истина, и ноль, если ложь. При сравнении операндов смешанных типов числовые операнды c преобразуются в строки с использованием значение CONVFMT (см. раздел Преобразование строк и чисел). "
Форсировать число c сравнение:
% awk '{if($2+0>10){print}}' tt a 100 c
https://www.gnu.org/software/gawk/manual/html_node/Strings-And-Numbers.html#Strings -And-Numbers