2012-04-23 22 views
3

我想中的printf输出到阵列存储象下面这样:如何在awk中获取系统输出?

op[i] = system("printf \"%d\\n\" \"" SQ substr($1,i,1) "\"") 

但是当我叫他们回来,他们只是0?!

你知道为什么吗?

+0

'系统()'返回0,因此这就是你会得到什么。您将不得不使用流来获取实际输出为字符串。另外,printf是一个系统命令?如果你想使用printf的C++函数,你不应该使用'system()'。 – Griffin 2012-04-23 13:04:37

+0

awk有它自己的printf函数或者你可以使用'string'printf,即'ar [0] = sprintf(.....)' – shellter 2012-04-23 13:17:54

+0

@Griffin:有一个['printf'](http:// pubs .opengroup.org/onlinepubs/9699919799/utilities/printf.html)的命令有点像'echo',因为它将数据回显到它的标准输出,但是在格式化字符串'printf()'(功能)。 – 2012-04-23 13:24:15

回答