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

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

Re: [shell-script] Pegar a sexta linha após uma string


From: Lawrence Waclawiak
Subject: Re: [shell-script] Pegar a sexta linha após uma string
Date: Mon, 10 May 2010 18:43:50 -0300
User-agent: Thunderbird 2.0.0.23 (X11/20090817)

Amigo, te basta apenas esses números após o VALUE? Você não precisa pegar o código antes do NIP para poder associar com o valor ou algo parecido? Havia entendido isso então minha solução pega não somente os numeros ,mas também uma referencia da linha que contém o NIP

cat teste
1+--------------------------------------------------------+
2| file type: PARAM, (2,0,NIP) |
3+-----------------+--------------------------------------+
4| Label | Attribute Value |
5+-----------------+--------------------------------------+
6| NAME | NUMBER |
7| DIM | 1 |
8| VALUE | 4321022882 |
9+-----------------+--------------------------------------+
10+--------------------------------------------------------+
11| file type: PARAM, (3,0,NIP) |
12+-----------------+--------------------------------------+
13| Label | Attribute Value |
14+-----------------+--------------------------------------+
15| NAME | NUMBER |
17| DIM | 1 |
17| VALUE | 5331422581 |
18+-----------------+--------------------------------------+

lbw@lbw-laptop:~/tmp$ grep -A 6 NIP teste|grep -e ',NIP)' -e ' VALUE ' |egrep -o -e '\(.*NIP\)' -e '[0-9]{8,}'
(2,0,NIP)
4321022882
(3,0,NIP)
5331422581

Nesse exemplo eu espero que o código tenha sempre mais que 8 números, ,se for sempre exatamente 10 números vc pode mudar o {8,} por {10}

Abraços

Roberto Alves escreveu:
Eu juro que não sabia isso do grep!!!
Burro eu!
Mas se eu tivesse ideia iria pelo menos no man.
Achei que no sed sairia algo mas sou 0 no sed.

2 Chopps, Julio!

Bruno, tá convidado também!

vlw.



Em 10 de maio de 2010 17:48, Julio C. Neves <address@hidden>escreveu:

aê Roberto,
agora deve 2 chopes :)

grep -A6 NIP <<< "82 +-----------------------------

---------------------------+
83 | file type: PARAM, (2,0,NIP) |
84 +-----------------+--------------------------------------+
85 | Label | Attribute Value |
86 +-----------------+--------------------------------------+
87 | NAME | NUMBER |
88 | DIM | 1 |
89 | VALUE | 4321022882 |
90 +-----------------+--------------------------------------+" | grep VALUE
| cut -d'|' -f3
 4321022882
Abraços,
Julio
Cursos de Shell e Zenity em 2 fins de semana?
- Aracaju turma de Shell em 12/05 - address@hidden;
- DF turma de Shell em 12/06 - ligue (61)3223-3000;
- RJ turma de Shell em 14/06 - ligue (21)2210-6061;
- Floripa turma de Shell e Zenity 12/07 – address@hidden;
- Turmas fechadas em outras cidades ligue (21)8112-9988.


Em 10 de maio de 2010 17:35, Roberto Alves <address@hidden> escreveu:

Pessoal,
eu to escrevendo um script aqui e me deparei com um "pobrema".

Eu tenho um arquivo com um monte de mnemônicos e cada um deles tem um
valor
associado mas que está 6 linhas abaixo em uma certa posição.
Já escrevi várias outras coisas no script mas não tenho ideia de como eu
posso pegar esse valor da string que encontrei que fica lá embaixo.

Ex:

82 +--------------------------------------------------------+
83 | file type: PARAM, (2,0,NIP) |
84 +-----------------+--------------------------------------+
85 | Label | Attribute Value |
86 +-----------------+--------------------------------------+
87 | NAME | NUMBER |
88 | DIM | 1 |
89 | VALUE | 4321022882 |
90 +-----------------+--------------------------------------+

A numeração da linha é do vi.
Eu peguei a string ",NIP)" e quero pegar o valor de VALUE, ou seja, o
número
4321022882, neste caso.

Sinceramente não consigo nem mostrar um exemplo do que fiz porque não
tenho
ideia do que apresentar, até porque essa tabela é repetida zilhões de
vezes
no arquivo e eu vou ter que pegar quantas vezes o NIP aparece, e cada um
dos
seus valores.

"NIP = Network IP: $nip encontrado(s).
4321022882
4321022445
4321022489"

E vou fazer isso para vários outros mnemônicos.
Eu já vi como pegar só os valores dos mnemônicos e os próprios mas não
sei
como juntar o valor que está 6 linhas abaixo.

Agradeço sugestões.

abraços,
Roberto Alves

PS: Julio, vou ficar devendo a entrada do show porque saí da banda que
acabei de entrar.
hehehe...estrela é assim mesmo....
Ninguém aguenta. Nem eu me aguento.
Ah, mas o chopp é por minha conta junto da mesa de sinuca!

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



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



------------------------------------

---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
aviso.
---------------------------------------------------------------------
Sair da lista: address@hidden
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil

Links do Yahoo! Grupos





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



------------------------------------

---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como 
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
aviso.
---------------------------------------------------------------------
Sair da lista: address@hidden
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil

Links do Yahoo! Grupos







reply via email to

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