问题与我的回答here有关。
我无法使用以下代码
#!/bin/bash
wget http://www.google.com/coop/cse?cx=017685108214920485934%3Aizx6pzojwka -O CSE-spanien
awk '/^searches [1-9]* sites, including:/ { print $2 }' CSE-spanien
错误消息示例 [已编辑]
$./code
--2009-04-14 19:01:32-- http://www.google.com/coop/cse?cx=017685108214920485934%3Aizx6pzojwka
Resolving www.google.com... 74.125.79.103, 74.125.79.99, 74.125.79.147, ...
Connecting to www.google.com|74.125.79.103|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: `cse?cx=017685108214920485934:izx6pzojwka.6'
[ <=> ] 8,096 --.-K/s in 0s
2009-04-14 19:01:33 (78.0 MB/s) - `cse?cx=017685108214920485934:izx6pzojwka.6' saved [8096]
./code: line 3: -O: command not found
awk(57264) malloc: *** error for object 0x4eee0: Non-aligned pointer being freed (2)
*** set a breakpoint in malloc_error_break to debug
awk: cmd. line:1: fatal: cannot open file `/Users/Masi/Documents/test/CSE-spanien' for reading (No such file or directory)
如何在Bash脚本中运行AWK?
答案 0 :(得分:3)
您-O CSE-spanien
行末尾遗失wget
。因此,CSE-spanien
不存在 - wget
正在使用文件名cse?cx=017685108214920485934:izx6pzojwka.2
保存HTML。
答案 1 :(得分:2)
一些随意的想法
awk
被命名为“awk”吗?if [ -f FileToUse ]
。如果您不知道某个项wget
将输出,您可能需要强制它(-O
)。答案 2 :(得分:2)
问题是wget不会在当前工作目录中创建CSE-spanien
文件。我建议你检查文件的创建位置,并在awk命令中添加文件的完整或相对路径。测试预期文件是否存在(test -f CSE-spanien && awk ...
)