cat a
#a b c                                            #在awk中引用变量是不需要$符号的

awk "{print $1}" a       
#a b c
#当用""的时候,由于""不能够屏蔽$,所以$1被当做去引用1这个变量,但是由于1是不能当做变量的,所以awk "{print $1}"实际是等于awk "{print }"的,所以最后会输出文件中所有内容

awk "{print $111}" a    

#11

 

#同理,由上面的可以看出最后结果应该为文件内容,既a b c,但是由于$111会被命令解释成$1 与11这样,而awk命令print的时候,如果输出的数字,他是可以显示的,所以最后结果为11

awk "{print ${1111}}" a  
#a b c
#此处同awk "{print $1}",由于1111被{}起来,所以他们会被当做一个整体,由于不可能有这个变量所以会输出文件所有内容

awk "{print $a}" a       
#a b c
#由于awk中可以引用变量,且""中没有屏蔽$,a在这里被当做一个变量,并且他的值为空,所以会出现显示源文件内容的情况

awk "{print $abc}" a      #同上
#a b c