Подсчитайте длину первых слов в файле в gawk - PullRequest
0 голосов
/ 10 октября 2018

Мне нужно посчитать длину первых слов в файле через gawk.

Использовать следующий код:

      BEGIN {
        {print "length sum"}
        {print; sum += length($1)}
      }
      {print "summa=", sum}

Возвращает строки с "sum = 0".

пример ввода: пример: gawk -f many?Potholderz

пример выхода:

длина суммы

сумма = 0 сумма = 0 сумма = 0 сумма = 0 сумма = 0 сумма = 0 сумма = 0 сумма = 0 сумма =0 итоговая = 0 итоговая = 0 итоговая = 0 итоговая = 0 итоговая = 0 итоговая = 0 итоговая = 0 итоговая = 0 итоговая = 0 итоговая = 0 итоговая = 0 итоговая = 0 итоговая = 0 итоговая = 0 итоговая = 0 итоговая = 0 итоговая= 0 итоговая = 0 итоговая = 0 итоговая = 0 итоговая = 0 итоговая = 0 итоговая = 0 итоговая = 0 итоговая = 0 итоговая = 0 итоговая = 0 итоговая = 0 итоговая = 0 итоговая = 0 итоговая = 0 итоговая = 0 итоговая = 0сумма = 0 сумма = 0 сумма = 0 сумма = 0 сумма = 0 сумма = 0 сумма = 0 сумма = 0 сумма = 0 сумма = 0 сумма = 0 сумма = 0 сумма = 0 сумма = 0 сумма = 0 сумма = 0

Как это исправить?

1 Ответ

0 голосов
/ 10 октября 2018

Предложение BEGIN выполняется перед обработкой любых строк, поэтому там нет доступных $1.

Вам необходимо получить длину при обработке каждой строки, а не в начале.

BEGIN { print "length sum" }
{ print "summa = ", length($1) }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...