O arquivo de entrada parece estar no formato de largura fixa. Você deve conseguir abrir isso no Excel e especificar a localização de cada coluna sem qualquer modificação.
No entanto, como parece que todos os campos do seu exemplo de entrada contêm pelo menos dois ou mais espaços de preenchimento, você pode substituir todas as ocorrências de dois ou mais espaços por uma vírgula:
sed -r 's/ \+/,/g' input.txt
Advertências:
- O texto acima requer expressões regulares estendidas (
-r
), disponíveis no arquivo sed do GNU - Se qualquer um dos campos de texto for longo o suficiente para preencher o campo de largura fixa ou deixar apenas um espaço, não será possível inserir a vírgula.
Aqui está outra maneira que coloca as vírgulas no final dos campos de largura fixa e, em seguida, remove os espaços extras. A largura dos campos de largura fixa neste exemplo é baseada no seu exemplo de entrada:
sed 's/\(.\{19\}\)\(.\{101\}\)\(.\{5\}\)/,,,/' columns.txt | sed 's/ *,/,/g'
Este último método não requer expressões regulares estendidas e deve funcionar mesmo se uma entrada preencher todo o campo de largura fixa.