Formatação de texto

1. Formatação de texto

Joao marcos Floriano
joaomafloriano

(usa Fedora)

Enviado em 24/06/2016 - 18:24h

Olá pessoal do VOL. Preciso fazer o seguinte, pegar uma arquivo formatado da seguinte forma
Guilherme Florinenses
Ilopolis
Rio grande do Sul
Brasil
02/05/1992
Solteiro
Masculino
Professor
Joao Carlos Margesto
Itapuca
Rio grande do sul
Brasil
08/05/1988
Casado
masculino
Medico

E tranforma-lo para
Guilherme Florinenses:Ilopolis:Rio grande do Sul:Brasil:02/05/1992:Solteiro:Masculino:Professor

O arquivo terá várias linhas, não apenas informação para formar uma linha apenas. Preciso que a cada 8 linhas do arquivo 1 seja concatenado em uma linha no arquivo 2, separando cada linha anterior com : e no final da linha não deve ter :

Já quebrei a cabeça aqui e não cheguei nem perto, tentei usar sed, awk, cut e nada ainda

Se alguém puder me ajudar agradeço imensamente


  


2. Re: Formatação de texto

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 24/06/2016 - 18:59h

Apenas para testes, funciona, mas deve ter um jeito melhor de fazer :-)

#!/bin/bash

QTD=$(wc -l $1 | cut -d' ' -f1) # qtd de linhas
i=0
while [ $i -lt $QTD ]; do
i=$(($i+4)) # a cada 4 linhas
cat teste.txt | head -n$i | tail -n4 | tr '\n' ';'
done




3. Re: Formatação de texto

Jeffersson Abreu
ctw6av

(usa Nenhuma)

Enviado em 24/06/2016 - 19:01h

Comece assim:
sed -ne 1,8p file.txt | paste -s -d: 


O numero 1 e 8 podem ser variáveis para ir mudando conforme o script vai se desenrolando, acredito já ser um bom inicio e que te coloque no caminho.

Espero que te ajude.





=====================================================================
Não existe saber mais ou saber menos, existem saberes diferentes.
=====================================================================





4. Formatação de texto

Joao marcos Floriano
joaomafloriano

(usa Fedora)

Enviado em 24/06/2016 - 19:18h

Show de bola pessoa. Vou tentar aqui e qualquer coisa volta a publicar. Por enquanto deixarei o post aberto.


5. Re: Formatação de texto

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 25/06/2016 - 03:46h

joaomafloriano escreveu:

Olá pessoal do VOL. Preciso fazer o seguinte, pegar uma arquivo formatado da seguinte forma
Guilherme Florinenses
Ilopolis
Rio grande do Sul
Brasil
02/05/1992
Solteiro
Masculino
Professor
Joao Carlos Margesto
Itapuca
Rio grande do sul
Brasil
08/05/1988
Casado
masculino
Medico

E tranforma-lo para
Guilherme Florinenses:Ilopolis:Rio grande do Sul:Brasil:02/05/1992:Solteiro:Masculino:Professor

O arquivo terá várias linhas, não apenas informação para formar uma linha apenas. Preciso que a cada 8 linhas do arquivo 1 seja concatenado em uma linha no arquivo 2, separando cada linha anterior com : e no final da linha não deve ter :
Já quebrei a cabeça aqui e não cheguei nem perto, tentei usar sed, awk, cut e nada ainda
Se alguém puder me ajudar agradeço imensamente

_________________________
Bom dia joaomafloriano.
Testei aqui e funcionou . . .
awk 'ORS=NR%8?":":"\n"' file.txt 

SAíDA:
Guilherme Florinenses:Ilopolis:Rio grande do Sul:Brasil:02/05/1992:Solteiro:Masculino:Professor
Joao Carlos Margesto:Itapuca:Rio grande do sul:Brasil:08/05/1988:Casado:masculino:Medico


Att.:
Marcelo Oliver








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts