/ / Removendo feeds de linha ou retornos de carro do excel com perl - perl, nova linha, retorno de carro, avanço de linha

Removendo alimentações de linha ou retornos de carro do excel com perl - perl, newline, retorno de carro, avanço de linha

sempre que tento ler uma linha em um arquivo.arquivo csv para de tratar a linha como uma única linha e a armazena em várias matrizes, como deveria ser apenas uma. O que estou vendo é que ao ler um arquivo .csv, ele parece conter alguns retornos de carro / esses quadrados estranhos quando o abro no bloco de notas. Quero remover esses caracteres do arquivo para poder ler corretamente o arquivo .csv saindo muito cedo.Como eu faria isso com um script perl.

Respostas:

1 para resposta № 1

Você pode limpar o espaço em branco à direita com a função chomp () no perl. Você pode usar algo assim para mastigar todos os espaços em branco à direita e substituí-lo por uma única nova linha:

perl -ne "while(chomp) { } print "$_n";" filename.csv

0 para resposta № 2

Se você deseja ler o arquivo inteiro como uma linha, basta desativar o separador de registros de entrada:

local $/;
my $file = <>;

Ou seja, se você deseja usar os dados dentro do perl. Se você simplesmente deseja alterar o arquivo de entrada para uso de outros programas e não se importa com os feeds / retornos de linha:

perl -pi.bak -we "s/[rn]+//g" input.csv

Isso fará uma edição no local de input.csve salve um backup em input.csv.bak. Esteja ciente de que, se você executar este comando duas vezes, o backup será substituído, portanto, salve um backup adequado em outro lugar.

Eu recomendaria isso apenas se você souber que esses símbolos não deveriam estar lá.