shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Preencher campos com dados das linhas superiores


From: Robson Alexandre
Subject: Re: [shell-script] Preencher campos com dados das linhas superiores
Date: Mon, 2 May 2011 13:45:47 -0300

Valeu Enio
Muito bom..... perfeitamente.

Mas deixa eu entender;

IFS seria o Field separator. Pq vc poe ²?
dai vc pega as linhas que começam com numeros da um cut nas duas primeiras
colunas e substitui com o sed nas linhas que começam com ;
E este redirecionamento "<<<"?? como funciona


Agradeço pela ajuda
Abraços

Em 29 de abril de 2011 19:10, Enio Onodera <address@hidden> escreveu:

>
>
> Robson,
> teste isso, se funcionar, faça suas implementações (saída, condições, etc):
> #################################!/bin/bashIFS=²; while read a in ;do [
> $(grep ^[0-9] <<< $a) ] && np=`cut -d ';' -f-2 <<< $a` && echo $a || sed
> "s/^;/$np/" <<< $a; done < arquivo################################
> Está tudo em uma linha só pq geralmente sai bagunçado quando mando.
> Abs,Enio Onodera
>
> --- Em sex, 29/4/11, Robson Alexandre <address@hidden>
> escreveu:
>
> De: Robson
> Alexandre <address@hidden>
> Assunto: [shell-script] Preencher campos com dados das linhas superiores
> Para:
> Data: Sexta-feira, 29 de Abril de 2011, 17:05
>
>
>
> Boa Tarde amigos,
>
> tenho um arquivo nestas condições
>
> 1294234;"NOME SOBRENOME 1 ";2011;10;03/01/11;1
>
> ;;20;04/07/11;2
>
> 1477491;"NOME SOBRENOME 2 ";2011;10;11/04/11;1
>
> ;;10;04/07/11;2
>
> ;;10;03/11/11;3
>
> 1294099;"NOME SOBRENOME 3 ";2011;30;24/01/11;1
>
> 1517005;"NOME SOBRENOME 4 ";2011;10;31/01/11;1
>
> ;;10;11/07/11;2
>
> ;;10;31/12/11;3
>
> 173130;"NOME SOBRENOME 5 ";2011;10;03/01/11;1
>
> ;;20;05/12/11;2
>
> onde o ultimo campo seria o numero da parcela, onde podemos ter 1, 2 ou 3
>
> parcelas.
>
> As linhas subsequentes abaixo de onde temos o nome das pessoas tambem devem
>
> ser preenchidas com seu
>
> respectivo nome da linha superior (2 primeiros campos)
>
> e gostaria de modificá-lo para que ficasse na seguinte situação
>
> 1294234;"NOME SOBRENOME 1 ";2011;10;03/01/11;1
>
> 1294234;"NOME SOBRENOME 1 ";20;04/07/11;2
>
> 1477491;"NOME SOBRENOME 2 ";2011;10;11/04/11;1
>
> 1477491;"NOME SOBRENOME 2 ";10;04/07/11;2
>
> 1477491;"NOME SOBRENOME 2 ";10;03/11/11;3
>
> 1294099;"NOME SOBRENOME 3 ";2011;30;24/01/11;1
>
> 1517005;"NOME SOBRENOME 4 ";2011;10;31/01/11;1
>
> 1517005;"NOME SOBRENOME 4 ";10;11/07/11;2
>
> 1517005;"NOME SOBRENOME 4 ";10;31/12/11;3
>
> 173130;"NOME SOBRENOME 5 ";2011;10;03/01/11;1
>
> 173130;"NOME SOBRENOME 5 ";20;05/12/11;2
>
> a duvida é a seguinte:
>
> como tratamos de uma ordem aleatoria de parcelas hora 1, hora 2, hora 3
>
> parcelas como poderia utilizar o sed/awk para resolver tal problema?
>
> desde ja agradeço a atenção dos senhores.
>
> Robson Alexandre
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]