Условие приращения столбца - PullRequest
0 голосов
/ 09 ноября 2018

Проверьте значения в столбце 2, если значения не равны 50, выведите строку

Input file

1000 2450 1
1000 2500 1
1000 2501 1
1000 2550 1
1000 2601 1
1000 2650 1

желаемый вывод

error 1000 2501 1
error 1000 2601 1

Используя ответ Каракфы, я попытался

awk '{$2%50 
{ err = FNR; exit } 
END { print "Invalid file on line", err; exit 1} 
print "Wrong File :", FILENAME }' file

заранее спасибо

1 Ответ

0 голосов
/ 09 ноября 2018
$ awk '$2%50{print "error",$0}' file

error 1000 2501 1
error 1000 2601 1

если значение не кратно 50, оставшийся мод 50 будет отличен от нуля.

Полагаю, это то, что вы пытаетесь?

$ awk '$2%50 {err=FNR; exit} 
       END   {if(err) 
                {print "Invalid file on line:", err; 
                 print "Wrong File :", FILENAME; 
                 exit 1}}' file

note END не может быть ни в одном утверждении, может отображаться только как «условие», подобное BEGIN.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...