- 论坛徽章:
- 0
|
说起这个转义符号,我想起了这个:
awk '{print "the awk programming language" ,'\$1', "YES"}' 1.test
输出:
the awk programming language AAA YES
the awk programming language BBB YES
the awk programming language ABA YES
问题一:
按照黑哥的指教,应该分解为这样:
awk '{print "the awk programming language" ,'
\$1
', "YES"}'
shell进行解释之后传给awk时,awk看到的是这样的:{print "the awk programming language" ,$1,"YES"}
这样的吧?
问题二:
这里的\$1,意思是$被\转义后只是当作普通的字符$,而不是当作shell中的$1,因为shell中的$1是代表第一个参数,如果你写成awk '{print "the awk programming language" ,'$1', "YES"}' 1.test,那shell就认为$1是他的第一个参数了。我这样理解对吗?
还有,我们平时输入的awk '{print $1}' xx.file这种形式,实际上是在shell中用''把单引号中的{、$、}都给转义成为普通的字符了,这样理解对吗? |
|