关于nawk和系统命令

时间:2011-06-22 20:40:58

标签: awk solaris ksh nawk

我正在使用Solaris并处理打开任何已禁用服务的脚本。 这是输出文件:

disabled        7:22:05 svc:/network/bla-bla:default
online         Jun_14   svc:/network/blu-blu:default

我希望我的代码解析这个并使用nawk本身打开已禁用的代码

以下是我尝试过的,因为某些原因无效:

cat output | nawk '/disabled/ {system(svcadm enable $3)}'

这是它给出的输出:

**sh: line 1: svc:/network/bla-bla:default: not found** 

cat output |grep bl*所需的输出是:

online        7:22:05 svc:/network/bla-bla:default
online         Jun_14   svc:/network/blu-blu:default

任何人都可以向我解释为什么会发生这种情况以及如何使这种情况发挥作用。我想要的只是

svcadm enable svc:/network/bla-bla:default

要执行。

1 个答案:

答案 0 :(得分:1)

因为它将svcadm视为变量名,没有任何价值。尝试

 nawk '{system("svcadm enable " $3)}'

(对不起,我的意思是作为nawk程序 - 现在更正了。)