Ответ 1
Вы близки, но это должно быть примерно так:
$ threshold=3
$ awk -v threshold="$threshold" '$1 > threshold' file
Создание переменной с помощью -v
позволяет избежать уродства в попытке расширить переменные оболочки в awk
script.
EDIT:
Есть несколько проблем с текущим кодом, который вы указали. Во-первых, ваш awk
script одинарный кавычек (хороший), который останавливает $threshold
от расширения, поэтому значение никогда не будет вставлено в ваш script. Во-вторых, ваше состояние находится за фигурными фигурными скобками, что сделало бы это:
$1 > threshold { print }
Это работает, но `print не требуется (это действие по умолчанию), поэтому я сократил его до
$1 > threshold