Ну, вы можете напрямую сказать awk
, что такое разделитель полей (опция -F). Внутри awk
скрипта вы можете указать, сколько полей присутствует в каждой записи с помощью переменной NF.
О, и вы можете проверить второе поле с помощью регулярного выражения. Все это может выглядеть примерно так:
awk < thefile -F\\t '
{ if (NF != 6 || $2 ~ /[^0123456789]/) print "Format error, line " NR; }
'
Это, вероятно, близко, но мне нужно проверить регулярное выражение, потому что изменение синтаксиса регулярного выражения в Linux настолько безумно. ( отредактировано, потому что grrrr )