sort
também deve funcionar
sort -t, -k1,1 -k2.1,2.3 -u <list.csv
12,12345,a
123,12345,a
1234,12,b
1234,12345,a
567,567,a
567,6789,a
Para um arquivo csv de 3 colunas, list.csv
, como você removeria linhas duplicadas subseqüentes nas quais o primeiro campo corresponde e apenas os primeiros 3 caracteres da segunda correspondência de campo? Algumas linhas terão um 2º campo com menos de 3 caracteres.
list.csv:
12,12345,a
12,12345,b
123,12345,a
1234,12,b
1234,12345,a
567,567,a
567,56712,a
567,56734,a
567,6789,a
Resultado esperado:
12,12345,a
123,12345,a
1234,12,b
1234,12345,a
567,567,a
567,6789,a
sort
também deve funcionar
sort -t, -k1,1 -k2.1,2.3 -u <list.csv
12,12345,a
123,12345,a
1234,12,b
1234,12345,a
567,567,a
567,6789,a
awk -F, '!seen[$1,substr($2,1,3)]++' list.csv
12,12345,a
123,12345,a
1234,12,b
1234,12345,a
567,567,a
567,6789,a
Tags text-processing csv