[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Tratar texto.
From: |
Edmilson Menezes |
Subject: |
Re: [shell-script] Tratar texto. |
Date: |
Wed, 5 Nov 2008 07:53:42 -0800 (PST) |
Opa, a saida ficaria assim:
mestre01 SERVIDOR #5508308AAAAAAABH CAMPO1 CAMPO2 CAMPO3
mestre01 SERVIDOR NOME01 ERRO CAMPO1 CAMPO2 CAMPO3
mestre01 SERVIDOR NOME02 ERRO 00 CAMPO1 CAMPO2 CAMPO3
mestre01 SERVIDOR01 #QUALQUER CAMPO1 CAMPO2 CAMPO3
mestre01 SERVIDOR01 >>ESTADO run NOME1 ERRO 00 CAMPO1 CAMPO2 CAMPO3
mestre02 SERVIDOR13 #COISA CAMPO1 CAMPO2 CAMPO3
mestre02 SERVIDOR13 >>ESTADO run NOME1 ERRO 00 CAMPO1 CAMPO2 CAMPO3
mestre02 SERVIDOR37 #QUALQUER CAMPO1 CAMPO2 CAMPO3
mestre02 SERVIDOR37 >>ESTADO run NOME9 ERRO CAMPO1 CAMPO2 CAMPO3
mestre02 SERVIDOR41 #5508308AAAAAAABF CAMPO1 CAMPO2 CAMPO3
mestre02 SERVIDOR41 NOME7 ERRO CAMPO1 CAMPO2 CAMPO3
O nome do servidor nem sempre é igual por isso não posso tratar pelo nome e sim
por campo. Mais uma vez obrigado.
--- Em qua, 5/11/08, André Saunite <address@hidden> escreveu:
De: André Saunite <address@hidden>
Assunto: Re: [shell-script] Tratar texto.
Para: address@hidden
Data: Quarta-feira, 5 de Novembro de 2008, 10:33
Oi,
Não entendi se é exatamente isso o que você quer, mas acredito que dá
pra usar esses comandos para pelo menos ter uma idéia de um modo de
realizar sua tarefa:
$ awk /SERVIDOR/'{ print $2; getline ; print $2}' arquivo.txt
SERVIDOR
NOME01
SERVIDOR01
>>ESTADO
SERVIDOR13
>>ESTADO
SERVIDOR37
>>ESTADO
SERVIDOR41
NOME7
$ awk /SERVIDOR/'{ print $2; getline ; print $0}' a
SERVIDOR
mestre01 NOME01 ERRO CAMPO1 CAMPO2 CAMPO3
SERVIDOR01
mestre01 >>ESTADO run NOME1 ERRO 00 CAMPO1 CAMPO2 CAMPO3
SERVIDOR13
mestre02 >>ESTADO run NOME1 ERRO 00 CAMPO1 CAMPO2 CAMPO3
SERVIDOR37
mestre02 >>ESTADO run NOME9 ERRO CAMPO1 CAMPO2 CAMPO3
SERVIDOR41
mestre02 NOME7 ERRO CAMPO1 CAMPO2 CAMPO3
Caso não seja isso o que você quer, por favor, mande um exemplo da
saída esperada.
Abs,
André Saunite
2008/11/5 Edmilson Menezes <erocha_jr@yahoo. com.br>
>
> Bom dia pessoal, tenho o seguinte texto:
>
> mestre01 SERVIDOR #5508308AAAAAAABH CAMPO1 CAMPO2 CAMPO3
> mestre01 NOME01 ERRO CAMPO1 CAMPO2 CAMPO3
> mestre01 NOME02 ERRO 00 CAMPO1 CAMPO2 CAMPO3
> mestre01 SERVIDOR01 #QUALQUER CAMPO1 CAMPO2 CAMPO3
> mestre01 >>ESTADO run NOME1 ERRO 00 CAMPO1 CAMPO2 CAMPO3
> mestre02 SERVIDOR13 #COISA CAMPO1 CAMPO2 CAMPO3
> mestre02 >>ESTADO run NOME1 ERRO 00 CAMPO1 CAMPO2 CAMPO3
> mestre02 SERVIDOR37 #QUALQUER CAMPO1 CAMPO2 CAMPO3
> mestre02 >>ESTADO run NOME9 ERRO CAMPO1 CAMPO2 CAMPO3
> mestre02 SERVIDOR41 #5508308AAAAAAABF CAMPO1 CAMPO2 CAMPO3
> mestre02 NOME7 ERRO CAMPO1 CAMPO2 CAMPO3
>
>
> Creio que o texto esta desconfigurado, por favor verifiquem aqui:
>
> http://pastebin. com/m6dc8f790 , acho que postei corretamente.
>
> Então, eu gostaria que o segundo campo do texto que contem o nome de um
> servidor ficasse junto com o processo que o mesmo executa que é a linha que
> esta abaixo, e assim por diante com os outros servidores, eu até consegui
> colocar o nome do mesmo servidor para todas as linhas, mais preciso colocar o
> servidor e seu processo os demais campos são diferentes e variam por linha,
> algumas linhas estão com 9 campos e podem ir até 15 campos. Pessoal não
> coloquei o que fiz porque não sei por onde começar sei até como ler campo a
> campo mais fazer com que fique o servidor com o processo não. Obrigado.
>
>
> Novos endereços, o Yahoo! que você conhece. Crie um email novo com a sua cara
> @ymail.com ou @rocketmail. com.
> http://br.new. mail.yahoo. com/addresses
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
Novos endereços, o Yahoo! que você conhece. Crie um email novo com a sua
cara @ymail.com ou @rocketmail.com.
http://br.new.mail.yahoo.com/addresses
[As partes desta mensagem que não continham texto foram removidas]