Во время написания сценария оболочки с помощью awk получаю сообщение об ошибке - PullRequest
1 голос
/ 08 января 2020

Я пытаюсь получить вывод нижеприведенного сценария оболочки -

curl -k -s --noproxy '*' 'https://confluence.***.**.com/display/abc/xyz' | awk ' /<div id="main-content" class="wiki-content">/ {flag=1;next} /        <\\/div>/{flag=0} flag { print }'

после его выполнения я получаю сообщение об ошибке -

awk: cmd. line:1:  /<div id="main-content" class="wiki-content">/ {flag=1;next} /        <\\/div>/{flag=0} flag { print }
awk: cmd. line:1:                                                 ^ unterminated regexp

Может ли кто-нибудь помочь мне с решением этой ошибки

1 Ответ

4 голосов
/ 08 января 2020

Не могли бы вы попробовать следующее. Не проверял его, так как образцы не были показаны.

curl -k -s --noproxy '' 'https://.......display/abc/xyz' |\
 awk '/<div id="main-content" class="wiki-content">/ {flag=1;next} /        <\/div>/{flag=""} flag'

Так как awk использует только \ 1 экземпляр обратной косой черты для экранирования символа, и у OP было 2, следовательно, он был удален в приведенном выше коде. Изменено на <\/div> для исправления ошибки.

Другое исправление в коде OP:

  • Изменено flag { print } на flag нам не нужно использовать print с ним.
  • Изменено flag=0 на flag="", так что условие flag может быть ИСТИНА, мы не можем установить flag=0, иначе условие / регулярное выражение flag будет ИСТИННО для этого также, что мы не хотим.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...