2009-03-04

awk读取命令行参数

awk把命令行上指定命令的参数后面的所有其他参数都当作是待处理的文件的文件名.这些文件名和awk本身的名字存放在ARGV这个数组里. ARGV[0]的值是"awk", ARGV[1]是第一个待处理文件,ARGV[2]是第二个,依此类推. 这些参数的总个数存放在ARGC这个变量中.

如果修改ARGC为1时,则awk会被"蒙骗",它会以为没有指定待处理的文件,这样就不会打开ARGV[1],ARGV[2]这些文件,但是我们还是可以使用ARGV[1],ARGV[2]等元素,例如可以将它们赋给我们在程序里定义的变量.

下面演示了修改了ARGC后,我们仍然可以使用ARGV这个数组.

$ awk 'BEGIN{ print ARGC; ARGC=1; print ARGV[0],ARGV[1],ARGV[2] }' for note
3
awk for note




转载请注明出处 http://fornote.blogspot.com

没有评论:

发表评论