Estou tentando obter linhas exclusivas em um arquivo com várias colunas.
Meu arquivo "file.txt" contém o registro de exemplo abaixo
20230830,52678,004,Apple,21
20230830,52678,004,Apple,20
20230830,52678,004,Apple,19
20230831,47689,001,Orange,15
20230901,47620,002,Grape,29
Minha saída desejada é imprimir apenas linhas únicas da coluna 1 a 4. Independentemente do valor na coluna 5
20230831,47689,001,Orange,15
20230901,47620,002,Grape,29
Tentei usar sed para adicionar um separador exclusivo entre as colunas 1-4 e a coluna 5
E então eu uso o comando awk para obter linhas exclusivas da coluna 1-4
sed 's/,/|/4' file.txt | awk -F"|" '{arr[$1]++} END{for(i in arr) if(arr[i]==1) print $0}'
Com esse código ele funciona com um pequeno conjunto de dados mas quando uso em um arquivo com 1000 linhas, obtenho...
20230831,47689,001,Orange,15
20230831,47689,001,Orange,15
20230831,47689,001,Orange,15
20230831,47689,001,Orange,15
...
valores únicos continuam chegando. Eles estão duplicando. Parece que estou recebendo apenas uma linha única e ela continua duplicando.
Você pode me ajudar se houver algo errado com meu código?
Espero imprimir apenas linhas exclusivas como esta
20230831,47689,001,Orange,15
20230901,47620,002,Grape,29