首页 » Linux » CentOS » 举例解释awk '{print $$1}'多个$含义

举例解释awk '{print $$1}'多个$含义

 

在有一些脚本中,可以看到awk '{print $$1}'这种写法,我们正常使用一般都是一个$符号。

本文通过例子来让大家理解一下多个$$的原理。

我这里创建一个whsir的文件,文件内容如下:

然后执行

我这里解释一下上面的结果是怎么输出的。

第一行:先执行$1,这里$1的值是2,然后将返回的2与前面的$结合构成了$2,然后再执行$2,所以最终结果是3
第二行:先执行$1,这里$1的值是3,然后将返回的3与第二个$结合构成了$3,然后再执行$3,所以最终结果是d
第三行:先执行$1,这里$1的值是4,然后再执行$4,所以最终结果是r
第四行:先执行$1,这里$1的值是5,所以最终结果是b

其实$$1的意思就是,先返回$1的值,然后结合$1返回的值再执行一遍$

同理,如果是$$$也是一样的道理。

先执行$1,这里$1的值是2,然后将返回的2与前面的$结合构成了$2,然后再执行$2,这里$2是3,然后与$结合构成了$3,所以最终结果是c。

最后我们来思考一下,如果$$$$1、$$$$$1呢?

原文链接:举例解释awk '{print $$1}'多个$含义,转载请注明来源!

1