【发布时间】:2015-07-30 17:41:13
【问题描述】:
我正在尝试通过我的 perl 脚本使用 awk 脚本。因此,当我尝试从命令行调用 awk 脚本时,它可以正常工作,如下所示
awk -f script.awk file.txt
...awk 脚本打开 file.txt 并进行一些计算。
但是,当我尝试通过我的 perl 脚本做同样的事情时,我无法让它工作 :( 我已经尝试了 100 万件事情,但没有任何工作。你能帮忙吗?这就是我正在使用的perl 脚本:
`awk '-f /path/to/script.awk /path/to/target/file.txt'`;
...但我得到一个“没有这样的文件或目录”。我试过不带单引号,带双引号,不带-f,我已经进入script.awk并添加了#!/bin/awk -f,以上所有的组合,没有任何作用。我在文件名中没有任何特殊字符,它们只是普通名称。没有变量或其他任何东西。
如果你能帮助我,我将不胜感激:)
谢谢!
【问题讨论】:
-
您的反引号命令行失败,因为 awk 试图打开一个名为
-f /path/to/script.awk /path/to/target/file.txt的文件。这不是文件的名称。删除单引号,以便为 awk 提供 多个选项。 -
嗨@ghoti,感谢您的回答。如果我在没有单引号的情况下尝试上述语法,它不会返回任何内容。正如汤姆所说,我必须在它前面加上
print(duh),然后删除单引号。谢谢你们两个:)