):

я есть этоawk заявление:

glb_library="my_library"
awk "
        /^Direct Dependers of/ { next }
        /^---/                 { next }
        /^$glb_library:/       { ver=\$0; next }
                               { gsub(/[[:space:]]/, '', \$0); print ver':'\$0 }
      " file

В основном я приложилawk код в двойных кавычках, чтобы переменная оболочкиglb_library расширен. Я сделал все возможное, чтобы избежать$ символ, чтобы предотвратить расширение оболочки$0, Следовал указаниямВот.

awk дает мне эту ошибку:

awk: syntax error at source line 5
 context is
                                   { gsub(/[[:space:]]/, >>>  ' <<<

Я хочу понять:

Законно ли использовать одинарные кавычки внутриawk? Почему'' не пустая строка, как"" является?Есть лиawk относиться к одинарным и двойным кавычкам по-разному?

Мой код работал после того, как я экранировал одинарные кавычки с обратной косой чертой и использовал\"\" представлять пустую строку вместо''.

Ответы на вопрос(3)

Ваш ответ на вопрос