Posso pensar em duas maneiras de abordar isso:
-
implemente sua própria 'pasta' que pula os três primeiros campos de todos, menos o primeiro arquivo - por exemplo
awk -F\; ' FNR==NR { a[FNR]=$0; next; } { for (i=4;i<=NF;i++) a[FNR] = sprintf("%s;%s", a[FNR], $i); } END { for (n=1;n<=FNR;n++) print a[n]; }' file*.csv
-
cole os arquivos juntos e retenha os campos com base em um indicador derivado da linha de cabeçalho
paste -d\; file*.csv | perl -MList::MoreUtils=indexes -F\; -alne ' @keep = indexes { $_ !~ /YEAR|MONTH|DAY/ } @F if $. == 1; print join ";", @F[0..2,@keep]'
(se você não tem o módulo
List::MoreUtils
, você deve ser capaz de implementar a mesma funcionalidade usandogrep
do perl).