Isso parece um caso em que cut
será melhor que awk
:
cut -d , -f1-20 Precipitation.csv > aaa1
cut -d , -f21-40 Precipitation.csv > aaa2
cut -d , -f41-100 Precipitation.csv > aaa3
-d ,
especifica o delimitador (uma vírgula, já que a entrada é chamada de CSV, mas você pode alterar isso). -f N-M
seleciona campos N
a M
inclusive para estar na saída. Se houver vírgulas embutidas em qualquer campo, isso irá quebrar. Nesse caso, você provavelmente precisará de um analisador CSV real, embora seja possível hackear algo se isso realmente não for possível.
A saída usará o mesmo delimitador da entrada. O GNU cut
suporta uma opção --output-delimiter=STRING
para definir um delimitador diferente, mas não acho que outros Faz. O cut
do FreeBSD inclui um -w
opção dividida por espaço em branco que está mais próxima de qual awk
faz por padrão. Se você quiser um desses comportamentos em outro lugar, transformar o delimitador antes / depois é provavelmente sua melhor aposta.