Aqui está uma maneira:
$ perl -000ne '@f=split(/\n/); print join(",",@f[0,2..7]) , "\n"' file.txt
1500,18,02,09,47,17,45
1501,27,54,28,50,22,03
Explicação:
-
-000
: ativa "modo de parágrafo", define o delimitador de campoperl
como\n\n
, novas linhas consecutivas. Isso significa que ele tratará cada um dos seus registros como uma única linha. -
@f=split(/\n/);
: divida a linha atual (o registro) em novas linhas e salve como a matriz@f
. Este array agora contém cada campo do seu registro. Isso significa que a fatia da matriz@f[0,2..8]
conterá os campos 0 e 2 a 8. -
print join ",",@f[0,2..8] , "\n"'
: isso unirá a fatia da matriz com vírgulas e imprimirá a sequência resultante seguida por uma nova linha.