
posso fazer isso funcionar com ferramentas básicas de shell (sem Python ou Perl)?
ENTRADA1:
file1.csv
John,Doe,[email protected]
Andy,Barry,[email protected]
Mary,,[email protected]
contar ocorrências de e-mails da 3ª coluna, arquivo1 em INPUT2:
file2.log
[email protected]&fghfgh
asdda&[email protected]
[email protected]&werewr
SAÍDA desejada:
result.csv
John,Doe,[email protected],0
Andy,Barry,[email protected],2
Mary,,[email protected],1
muito obrigado!
Responder1
Você não forneceu uma entrada válida, então usei isto:
John,Doe,[email protected]
Andy,Barry,[email protected]
Mary,,[email protected]
Para o qual o seguinte awk one-liner fornece os resultados esperados:
awk -F, '{l[NR]=$0;f[NR]=$3;c[$3]++}END{for(i=1;i<=NR;i++)print l[i] "," c[f[i]]}'
O problema aqui é que sua tarefa requer duas passagens. (f[] é apenas uma conveniência para evitar manter todo o conteúdo analisado ou analisá-lo novamente no final.) Mas como não entendo por que você descartou python ou perl (elessãoferramentas básicas de shell), talvez você também não considere um jogo justo...