LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1516|回复: 3

关于使用awk脚本文件执行的问题

[复制链接]
发表于 2006-5-13 10:12:36 | 显示全部楼层 |阅读模式
写了一个awk脚本如下:

#!bin/awk -F
awk -F \" ' {{if(/http/) cnt[$2]++}}END {for (name in cnt) print(name,cnt[name])}'

保存为clnks.awk文件


使用: awk -F clnks.awk main.html
其中main.html文件在同一目录下,得到错误提示:
awk: cmd. line:1: main.html
awk: cmd. line:1:     ^ syntax error

请大家给讲讲原因

awk -F \" ' {{if(/http/) cnt[$2]++}}END {for (name in cnt) print(name,cnt[name])}'

可以在命令行直接运行
发表于 2006-5-13 12:36:05 | 显示全部楼层
-F is for setting up delimiter, it should be awk -f.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-5-13 19:54:08 | 显示全部楼层
awk: clnks.awk:2: awk -F \" ' {{if(/http/) cnt[$2]++}}END {for (name in cnt) print(name,cnt[name])}'
awk: clnks.awk:2:        ^ backslash not last character on line

得到了新的错误提示
请帮忙改一下,并指出错误原因,谢谢
回复 支持 反对

使用道具 举报

发表于 2006-5-14 09:18:04 | 显示全部楼层

我也是菜鸟,不知回答得对不对啊

#!bin/awk -F
awk -F \" ' {{if(/http/) cnt[$2]++}}END {for (name in cnt) print(name,cnt[name])}


#!bin/awk  这句话已经说明你的脚本里命令解释器就是awk ,所以脚本里的awk语句

应该直接写模式和动作吧,而且不用加单引号了,应该这样吧

{if(/http/) cnt[$2]++}END {for (name in cnt) print(name,cnt[name])}

都是新手了,共同努力吧呵呵
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表