Criando uma planilha a partir de um arquivo de texto

1

Estou escrevendo um script de shell que usa um arquivo de texto como entrada e gera uma planilha como saída. Eu tenho um arquivo de texto único semelhante ao mostrado abaixo.

Name:John
Age:30
Gender:male
Name:Bob
Age:65
Gender:Male

e o padrão continua repetindo várias vezes. Eu tenho que criar uma planilha com nome, idade e sexo como os campos mostrados abaixo.

Name Age Gender
John 30  Male
Bob  65  Male

A ajuda seria apreciada.

    
por Swatesh Pakhare 10.11.2015 / 19:31

2 respostas

1

Crie um arquivo de texto delimitado por tabulações pronto para ser importado para o Excel:

printf "Name\tAge\tGender\n" > outfile
cut -d: -f2- <infile | paste - - - >> outfile
  • printf cria o cabeçalho delimitado por tabulações
  • cut do segundo campo para o final da linha
  • paste formata a saída em três colunas que são delimitadas por tabulações e corrigem o arquivo de saída

Você também pode agrupar os comandos e redirecionar apenas uma vez:

{
printf '%s\t%s\t%s\n' Name Age Gender
cut -d: -f2- <infile | paste - - -
} > outfile
    
por 10.11.2015 / 22:05
0

O seguinte funciona se o arquivo tiver sempre três linhas para cada registro.

echo "Name Age Gender" >>OUTPUT.txt; xargs -n 3 < INPUTFILE.txt |sed 's/Name:\|Age:\|Gender://g' >> OUTPUT.txt

Tenho certeza de que existem maneiras mais eloqüentes de lidar com isso.

    
por 10.11.2015 / 21:14