Para cada linha em que os campos especificados não são exclusivos, você armazena alguns dados na memória que contém o campo especificado, além de uma pequena sobrecarga. Portanto, a menos que você tenha muitas duplicatas ou os outros campos sejam muito grandes, não é surpreendente que um arquivo de 6,5 GB cause mais de 3,5 GB para ser usado.
Se o arquivo já estiver classificado, você não precisará armazenar todos os dados, apenas para comparar linhas adjacentes.
awk -F ',' '
{current = $1","$2","$3","$4","$5","$13}
previous == current {print}
{previous = current}
'
ou
sed -n -e 'x' -e 'G' -e '/^\(.*)\n$/ { s/\n.*//; p; }' \
Se o arquivo não estiver classificado, a classificação provavelmente será a maneira mais rápida de obter as informações. As implementações típicas de sort
são boas com arquivos muito grandes.