Awk
solución:
awk 'NR == FNR { a[$1] = $2 OFS; next }
$2 in a { a[$2] = a[$2] (a[$2] ~ /\t$/? "" : ",") $1 }
END { for (i in a) print i, a[i] }' OFS='\t' file1 file2
La salida:
bhy 30 c
abc 10 a,d,e
xyz 20 b,f
Para su última condición use la siguiente modificación:
awk 'NR == FNR { a[$1] = $2 OFS; next }
$2 in a { a[$2] = a[$2] (a[$2] ~ /\t$/? "" : ",") $1 }
END {
for (i in a) print i, a[i] (a[i] ~ /\t$/? "Not_Available" : "")
}' OFS='\t' file1 file2
Современные браузеры очень сложно создавать. Весьма вероятно, что система виртуальной памяти перемещает много страниц, но недостаточно для значительного вывода страниц на диск.
Linux From Scratch сообщает 6+ ГБ памяти, используемой для сборки Firefox и 1,25 ГБ на поток для Chromium с WebKit .
Увеличьте объем памяти или уменьшите количество заданий с помощью любого -j переключателя. Или используйте готовые двоичные файлы...