Isso é feito por ack em si. ack verifica se sua saída padrão está conectada a um terminal e, se não estiver, imprime a saída em um formato diferente. Eu acho que esse formato foi escolhido porque é mais fácil de processar por aplicativos projetados para processamento de texto (como grep ou ack em si).