Shell脚本内置变量 和 awk脚本内置变量 比较

来源:互联网 发布:纯js前端实现分页代码 编辑:程序博客网 时间:2024/05/16 20:27
1、参数个数:

            Shell使用$#表示输入的参数个数;

           awk使用ARGC表示输入的参数个数;

2、参数内容:

            Shell使用$*或者$@表示参数的内容;Shell没有将参数当做数组来处理。

            awk使用ARGV表示参数内容;awk将参数当做一个数组来出来。

3、内置变量:

           Shell编程中,$1,$2,...,$n表示输入的参数,同时,也表示调用函数时,传递给函数的参数。

           awk中$0表示当前正在处理的记录,$1,$2....$n表示当前记录中的第一个字段,第二个字段,...第n个字段。

           (awk中的记录,字段的含义和数据库中记录,字段的含义是相同的)

 

4、shell中$?表示函数的返回值,或进程的返回值。

 

5、awk中,FS表示字段分隔符(一列和一列之间的分隔符,默认是空格,可以修改),NF表示的当前记录有多少个字段,

                  RS表示记录分隔符(一行和一行之间的分隔符,默认是换行符,可以修改),NR表示已经读出的记录数。

 

等等,还有非常多的内容。

NF和$NF 区别问答:
1.awk中$NF是什么意思?

#pwd
/usr/local/etc
~# echo $PWD | awk -F/ '{print $NF}'
etc
NF代表:浏览记录的域的个数
$NF代表
:最后一个Field(列)

2.awk下面的变量NF和$NF有什么区别?
{print NF} 也有{print $NF}
前者是输出了域个数,后者是输出最后一个字段的内容
如:~# echo $PWD | awk -F/ '{print $NF}'

0 0
原创粉丝点击