Вы могли попытаться отладить Apache, поскольку он запускает со следующей командой:
$ sudo strace -Ff apachectl start
Вы могли также сделать это:
$ sudo strace -Ff service httpd start
Поймать вывод к файлу журнала:
$ sudo strace -Ff service httpd start 2>&1 | tee apache_$(date +%F_%T).log
Лично я бы просто делал все это в Awk из оригинального файла, а не наполовину в PHP и наполовину в Awk или Perl. Учитывая вышеприведенный file1.txt , выдаст желаемый результат:
{
Vals[$1]++;
Vals[$2]++;
Third_col[$1, $2] = Third_col[$2, $1] = $3;
}
END{
for (i in Vals) {
for (j in Vals) {
if (i == j || (i SUBSEP j in printed)) { continue }
Third_col_val = (i SUBSEP j in Third_col) ? Third_col[i, j] : 0;
print i, j, Third_col_val;
printed[j, i]++;
printed[i, j]++
}
}
}
Обратите внимание, что это занимает время O(n2), поэтому для очень больших списков (миллионы строк) это будет медленно и насыщено памятью.
.