Edição de fluxo do AWV CSV, mesclar terceiras colunas para primeiras colunas idênticas quando segunda coluna = 0

0

Estou no Windows e só ouvi falar de linuxes awk etc, então eu só posso imaginar que isso é possível sem o script real:

Eu tenho dados como

..
162     42      A single serving
162     62      of french fries, please
164     -1      ABC
164     -1      1
..

que eu gostaria de ser transformado em

..
A single serving of french fries, please
..

então a regra seria

mescle as terceiras colunas para as primeiras colunas idênticas quando a segunda coluna > = 0.

Vou tentar encontrar o awk para o Windows.

    
por none 31.08.2011 / 16:52

1 resposta

0

Use matrizes para criar as strings:

awk -F '\t' '
  $2 >= 0 {str[$1] = str[$1] $3 " "}
  END {for (s in str) print str[s]}
' filename

Espero que seus dados estejam realmente separados por tabulações porque senão $ 3 == "A" para a primeira linha.

    
por 31.08.2011 / 17:14