我有这样的awk声明:
glb_library="my_library"
awk "
/^Direct Dependers of/ { next }
/^---/ { next }
/^$glb_library:/ { ver=\$0; next }
{ gsub(/[[:space:]]/, '', \$0); print ver':'\$0 }
" file
Run Code Online (Sandbox Code Playgroud)
基本上,我已将awk代码括在双引号中,以便glb_library扩展shell变量.我已经确保逃避$角色以防止外壳扩展$0.遵循这里的指导.
awk 给我这个错误:
awk: syntax error at source line 5
context is
{ gsub(/[[:space:]]/, >>> ' <<<
Run Code Online (Sandbox Code Playgroud)
我想明白:
awk?为什么''不是像空字符串一样""?awk区别对待单引号和双引号?在我用反斜杠转义单引号并用来\"\"表示空字符串而不是代码之后,我的代码工作''.