Cas 'answer in comment
awk -F', ' -v OFS=, '{gsub(" ",",",$3)}; NR==1 {$1=$1;print}; NR > 1 {split($22,a,"."); $22 = a[3]"-"a[2]"-"a[1]; print }' data.csv
Eu insiro os dados no serviço csvlint.io porque eu recebo o erro 22 Problem encountered on line 2
no Weka ao tentar importar o arquivo CSV caminho.
'java -jar weka.jar' > Explorer >
Preprocess > Open file > [select file format CSV]
> [Choose CSV file]
Mensagem de erro semelhante está no thread Não reconhecido como um arquivo csv no Weka que eu tenho antes resolvido inserindo o arquivo dados no LibreOffice, autofixando lá e salvando como CSV, mas eu gostaria de encontrar uma solução de linha de comando lá. Eu recebo o seguinte aviso no serviço csvlint.io de lá, embora eu tenha gerado Data no Debian 9.
Structural problem: Non-standard Line Breaks on row 1
Your CSV appears to use LF line-breaks. While this will be fine in most cases, RFC 4180 specifies that CSV files should use CR-LF (a carriage-return and line-feed pair, e.g. \r\n). This may be labelled as "Windows line endings" on some systems.
Dados
Ni, Aika, Aika_l, Un, Unen, Unen_kesto, Uniluokat_R, Uniluokat_k, Uniluokat_s, HRV_RMSSD_a, HRV_RMSSD_i, Kokonaisp, Palautumisen_k, Hermoston_t, Syke_ave_m, Syke_a, Syke_l, Hengitystiheys_ave_m, Hengitystiheys_a, Hengitystiheys_min_a, Liikeaktiivisuus_l, Liikeaktiivisuus_a, Paivamaara_l
"Masi", 23072010-2200+0300, 24072010-0600+0300, 70, 7h40, 6h30, 1h40, 3h40, 1h10, 67.0, 43.0, 24.0, 430, 30, 70, 50, 40, 20, 10, 10, 150, 260, 24.10.2010
"Masi", 23072010-2200+0300, 24072010-0600+0300, 70, 7h40, 6h30, 1h40, 3h40, 1h10, 67.0, 43.0, 24.0, 430, 30, 70, 50, 40, 20, 10, 10, 150, 260, 24.10.2010
Para remover o espaço em branco horizontal, você pode executar tr -d "[:blank:]"
nos dados, mas isso não será necessário.
Eu acho que as terminações de linha não são um problema aqui porque corrigir o arquivo com dos2unix
ou unix2dos
(meuh) não resolve o problema.
OS: Debian 9