AWK solução:
awk '!a[$2]++{ fn="file"++c }{ print > fn }' inputfile
-
!a[$2]++- verifique se encontrou o segundo valor de campo exclusivo$2utilizando-o como um índice da matriza. A condição!a[$2]++será avaliada comotrueapenas na primeira ocorrência do valor exclusivo$2 -
fn="file"++c- gerando nome do arquivo com o sufixo de incremento++c
Visualizando resultados:
$ head file[12]
==> file1 <==
sort a # 3|4
sort a # 2|5
==> file2 <==
sort b # 1|2
sort b # 2|5