我需要获取一个来自我拥有的Cydia debian repo的Packages文件(Packages.gz
)中所有包的名称和版本,我正在尝试找到在PHP中执行此操作的最佳方法。
我是PHP的新手并且在我为自己制作一个小项目时学习它,但却找不到我能理解的例子。我在搜索时发现了这个,它得到了我需要的东西,但它不是PHP。
awk -F": " ' /^Package/{p=$2;getline;v=$2;getline;f=$2;ary[p"\n"v"\n"]} END{for (x in ary) print x}' file
答案 0 :(得分:1)
您可以使用PHP中的ZLib函数直接读取文件...
<?php
error_reporting ( E_ALL );
ini_set ( 'display_errors', 1 );
$file = gzopen('Packages.gz', 'r');
while ( $line = gzgets($file)) {
if ( substr($line, 0,8) == 'Package:' ||
substr($line, 0,8) == 'Version:') {
echo $line;
}
}