如何在Bash脚本中运行AWK?

如何在Bash脚本中运行AWK?,bash,awk,Bash,Awk,这个问题与我的答案有关 我无法使以下代码正常工作 #!/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://w

这个问题与我的答案有关

我无法使以下代码正常工作

#!/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)
$。/code
--2009-04-14 19:01:32--  http://www.google.com/coop/cse?cx=017685108214920485934%3Aizx6pzojwka
正在解析www.google.com。。。74.125.79.103, 74.125.79.99, 74.125.79.147, ...
连接到www.google.com | 74.125.79.103 |:80。。。有联系的。
HTTP请求已发送,正在等待响应。。。200行
长度:未指定[text/html]
保存到:`cse?cx=017685108214920485934:izx6pzojwka.6'
[]8096---K/s在0s中
2009-04-14 19:01:33(78.0 MB/s)-'cse?cx=017685108214920485934:izx6pzojwka.6'已保存[8096]
/代码:第3行:-O:未找到命令
awk(57264)malloc:**对象0x4eee0的错误:未对齐指针被释放(2)
***在malloc\u error\u break中设置断点以进行调试
awk:cmd。第1行:致命:无法打开文件“/Users/Masi/Documents/test/CSE spanien”进行读取(没有这样的文件或目录)
如何在Bash脚本中运行AWK?一些随机想法

  • 检查您的路径——脚本环境中使用的路径。
    awk
    在您的环境中是否命名为“awk”
  • 考虑对非平凡脚本使用
  • 是否需要重定向输出?那么标准误差呢
  • 您是否应该捕获上一个流程的退出状态并首先做一些决策
  • 从错误消息来看,如果[-f FileToUse],则可以使用
    。如果您不确定
    wget
    将在何处放置输出,则可能需要强制执行(
    -O

    • 您在
      wget
      行末尾缺少
      -O CSE spanien
      。因此,
      CSE-spanien
      不存在-
      wget
      正在用文件名
      CSE?cx=017685108214920485934:izx6pzojwka.2

      保存它。问题是wget没有在当前工作目录中创建
      CSE-spanien
      文件。我建议您检查文件的创建位置,并在awk命令中添加文件的完整路径或相对路径。测试所需文件是否存在也是明智的(
      test-f CSE-spanien&&awk…

      谢谢您的帮助!问题是wget中的选项-O,以及我的计算机中的路径。