bash awk - 需要php脚本

时间:2015-07-14 17:37:00

标签: php arrays linux bash awk

我有一个php脚本负责从数据库返回名称和相关ID:

//general array structure is:
$array = array(
    "name1" => 001,
    "name2" => 002,
    ...
);
return $array;

我还有一些需要访问此数组的awk代码,并将其转换为地图。可以修改php脚本以适应这种情况。这是awk脚本:

//awk:
system("/usr/bin/php /path/to/script/query_db.php")

//query_db.php:
echo implode(' ', $results);

我不知道该怎么做是在awk中创建一个数组,如上所述。这只回显了php脚本数组返回的值,并省略了键。

1 个答案:

答案 0 :(得分:1)

保持简单。从PHP使用此循环来转储数组:

<?php
foreach ($array as $k=>$v) echo "$k=$v\n";
?>

<强>输出:

name1=1
name2=2

现在在awk中使用=作为字段分隔符并填充关联数组:

php -s arr.php | awk -F= '{arr[$1]=$2} END{for (i in arr) print i, a[i]}'