Salve o arquivo como texto delimitado por tabulação e planilha

0

Estou usando a seguinte linha de comando no Linux para salvar o conteúdo do meu arquivo de entrada (arquivo txt consistindo de colunas) como uma planilha:

less input_file > out_put.csv

meu arquivo de saída é

O problema está na planilha de saída; todas as colunas no arquivo de entrada ficaram juntas em uma coluna do arquivo de saída (CSV da planilha).

Como posso revisar meu código simples para torná-lo mais eficiente para salvar meu arquivo txt como um texto delimitado por tabulações e uma planilha.

    
por Gilles 16.10.2014 / 14:17

1 resposta

2

Primeiro de tudo, less é apenas um pager, é uma ferramenta que permite ler arquivos. O que você está fazendo é exatamente o mesmo que copiar input_file para out_put.csv ( cp input_file out_put.csv ). Você não está alterando o conteúdo de maneira alguma.

Então, para lê-lo como uma planilha usando, por exemplo, libreoffice , você precisa abrir seu aplicativo de planilha, abrir seu input_file e usar o espaço como separador de coluna:

Agora,sevocêrealmentedesejaconverterseuarquivoparavírgula,formatodevaloresseparados(.csv),énecessárioadicionarvírgulas.Estecomandosubstituirátodososespaçosporvírgulasemcadaumadesuaslinhasesalvaráasaídacomooutput.csv:

sed's/*/,/g'input_file>output.csv

Ocomandoacimaésedeaquiestouusandoseu operador de substituição . O formato geral é s/pattern/replacement/ , que substituirá pattern por replacement . O g no final faz com que ele substitua todas as ocorrências do padrão em cada linha, sem isso, apenas substituiria o primeiro. O padrão que dei a ele foi (um espaço) seguido por 0 ou mais (isso é o que * significa) espaços ( * ) e eu disse a ele para substituir por , . Isso basicamente significa "substituir quaisquer ocorrências de um ou mais espaços por uma vírgula".

    
por 16.10.2014 / 14:42