[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] jogar todos os campos a partir do 6o. na linha seguin
From: |
jimmy |
Subject: |
Re: [shell-script] jogar todos os campos a partir do 6o. na linha seguinte preservando os primeiros 5 campos |
Date: |
Wed, 29 Apr 2009 09:17:44 -0300 |
User-agent: |
Mutt/1.4.2.3i |
On Wed, Apr 29, 2009 at 03:25:31AM -0300, Jorge Barros de Abreu wrote:
> Olá.
>
> Gostaria de jogar todos os campos a partir do 6o. na linha seguinte
> preservando os primeiros 5 campos. Exemplificando adiante.
>
> Tenho um arquivo seguinte estrutura:
>
> 13/04/2009 & Seg & M & x & 1 & A & In & 3C & z & \\ \hline
> 13/04/2009 & Seg & V & x & 2 & Jxs & Ma & 3A & z & \\ \hline
> 13/04/2009 & Seg & M & x & 3 & A & D\' & 1H & z & \\ \hline
> 13/04/2009 & Seg & M & x & 4 & & & & z & \\ \hline
>
> O objetivo é fazer com que ocorra o seguinte:
>
> 13/04/2009 & Seg & M & x & 1 &
> 13/04/2009 & Seg & V & x & 2 & A & In & 3C & z & \\ \hline
> 13/04/2009 & Seg & M & x & 3 & Jxs & Ma & 3A & z & \\ \hline
> 13/04/2009 & Seg & M & x & 4 & A & D\' & 1H & z & \\ \hline
> & & & z & \\ \hline
>
> O "&" é o separador de campo.
>
> Agradeço.
>
>
> --
> Data Estelar 2454950,748553
> http://sites.google.com/site/ficmatinf
> Desejo-lhe Paz, Vida Longa e Prosperidade.
> São Bem Vindas Mensagens no Formato texto UTF-8 com Acentos.
>
>
> ------------------------------------
saudações jorge,
é interessante ver mais alguém trabalhando com tabelas em latex;
bom vamos ao problema:
awk -F '&' 'BEGIN{OFS=FS}{print $1,$2,$3,$4,$5 "" str; str="";
for(i=6;i<=NF;i++){str=(str FS $i)};}'
esse 1liner vai guardar a informação do resto de cada linha em uma
variável e imprimá-la na linha subsequente; você pode usá-lo com um
arquivo (passando ele como último argumento) ou direto em um pipe (se
você usa o vim ou emacs para editar seus .tex creio que seja isso que
irá fazer).
--
"Não manejo bem as palavras
Mas manipulo bem as strings."
------------------------------