Скрипт GAWK с использованием специальных символов - PullRequest
0 голосов
/ 07 декабря 2011

У меня проблема с использованием специальных символов. Я анализирую текстовый файл, разделенный вкладками. Я хочу, чтобы программа добавила «*» к первому слову в строке, если определенный параметр имеет значение true.

if ($Var < $3)  $1 = \*$1

Теперь каждый раз, когда я запускаю его, я получаю сообщение об ошибке, что это не конец строки.

1 Ответ

0 голосов
/ 07 декабря 2011

2 вещи, но без большего контекста для тестирования мы действительно не сможем вам сильно помочь.

  1. $Var будет иметь значение, только если вы установили его выше, как Var =3.Тогда я не думаю, что gawk оценит ваши 3 доллара до 3 долларов.Другая сторона этого выражения < $3 расширится до значения 3-го поля.Если вы получаете $ Var из среды оболочки, вам нужно позволить сценарию gawk «увидеть» это значение, то есть

    awk '{ ..... if ('"$Var"' < $3) $1= "*" $1 .....}

  2. Если вы хотитеСтроковый литерал '*' предварительно написан, вам лучше делать $1 = "*" $1

Без примеров ввода, примера ожидаемого вывода, фактического вывода и сообщений об ошибках, мы будем играть20 вопросов здесь.Если эти комментарии не решают вашу проблему, пожалуйста, отредактируйте ваш вопрос выше, чтобы включить эти элементы.

PS Добро пожаловать в StackOverflow и позвольте мне напомнить вам о трех вещах, которые мы обычно делаем здесь: 1) Когда вы получаете помощь,постарайтесь ответить и на вопросы в своей области. 2) Прочитайте часто задаваемые вопросы, http://tinyurl.com/2vycnvr, 3) Если вы видите хорошие вопросы и ответы, оцените их, используя серые треугольники, http://i.imgur.com/kygEP.png,поскольку доверие к системе основано на репутации, которую пользователи получают, делясь своими знаниями.Также не забудьте принять ответ, который лучше решит вашу проблему, если таковой имеется, нажав на значок галочки, http://i.imgur.com/uqJeW.png

...