awk проверка поля на текст

Нужно проверить является ли поле строки текстом или числом. Я побывал это: if ($2 != /[0-9]/){...}else{...}, но такая конструкция некорректно срабатывает и работает только блок else. Я только знакомлюсь с awk, поэтому не ругайте.


Ответы (1 шт):

Автор решения: Ainar-G

Используйте оператор !~. Пример:

$ more ./tmp.txt
1 aaaa
2 2222
3 c3c3
$ awk '{ print $2 !~ /^[0-9]+$/; }' ./tmp.txt 
1
0
1
$
→ Ссылка