Estou usando o bash. Eu tenho um arquivo CSV com duas colunas de dados que se parecem com isso
num_logins,day
253,2016-07-01
127,2016-07-02
Eu quero trocar a primeira e a segunda colunas (tornando a coluna de data a primeira). Então eu tentei isso
awk ' { t = $1; $1 = $2; $2 = t; print; } ' /tmp/2016_logins.csv
No entanto, os resultados estão gerando o mesmo . O que está faltando na minha instrução awk acima para que as coisas mudem corretamente?
Aqui está:
Porque o delimitador padrão é espaço/tab. Não vírgula. Pegar seu código original e adicionar um
-F,
resolve.Despindo-o para
{$0=$2" "$1}1
obter o mesmo resultado.Esta resposta usa
xsv
em vez deawk
, mas é útil se você tiver muitas colunas: