I have this awk
statement:
glb_library="my_library"
awk "
/^Direct Dependers of/ { next }
/^---/ { next }
/^$glb_library:/ { ver=$0; next }
{ gsub(/[[:space:]]/, '', $0); print ver':'$0 }
" file
Basically, I have enclosed the awk
code in double quotes so that the shell variable glb_library
is expanded. I have made sure to escape the $
character to prevent the shell from expanding $0
. Followed the guidance from here.
awk
gives me this error:
awk: syntax error at source line 5
context is
{ gsub(/[[:space:]]/, >>> ' <<<
I want to understand:
- Is it legal to use single quotes inside
awk
? Why is ''
not a null string like ""
is?
- Does
awk
treat single and double quotes differently?
My code worked after I escaped the single quotes with backslashes and used ""
to represent the null string instead of ''
.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…