有关 awk 的参数

有关 awk 的参数

awk 的格式要求有输入文件,但是好像可有可无:
#gawk 'BEGIN{system("ls -l")}'
drwx------    7 on  on      4096  7月 17 22:00 evolution
-rw-rw-r--    1 on  on       505  7月 17 21:01 iptables_ncc
这个不需要"file"这样的参数,可是
#gawk 'END {print index("peanut","an")}' 同样没有file参数, 为什么就一直在等待, Ctrl + D后才有结果呢?      
我的理解: BEGIN 是在处理文件之前运行的, 无论有无文件, 均会执行; END 是在处理文件之后运行的, 因此需要等待有关文件处理      
[QUOTE]最初由 Roc.Ken 发布
[B]awk 的格式要求有输入文件,但是好像可有可无:
#gawk 'BEGIN{system("ls -l")}'
drwx------    7 on  on      4096  7月 17 22:00 evolution
-rw-rw-r--    1 on  on       505  7月 17 21:01 iptables_ncc
这个不需要"file"这样的参数,可是
#gawk 'END {print index("peanut","an")}' 同样没有file参数, 为什么就一直在等待, Ctrl + D后才有结果呢? [/B][/QUOTE]
正解。
p.s.偶从来没有用过END,除了让结构清晰一点,我看不出有什么特别的好处      
END 还是有它的用武之地的,比如在处理完一个文件后打印一些统计信息      
明白了

感谢楼上两位~~~