Senhores, Eu fiz um teste conforme repassaram nas dicas de de verta forma deu certo;
Vai exemplo: ========================================= arq1.txt ITEM CAMPO_1 CAMPO_2 CAMPO_3 01 qwerty aqwer qweryt 02 qwerty1 qwerr qerttyd 03 qwerty3 qewrtr qetroip 04 qwerty4 qetrt qçlkwteç FIM DO ARQUIVO ITEM CAMPO_1 CAMPO_2 CAMPO_3 01 qwerty aqwer qweryt 02 qwerty1 qwerr qerttyd 03 qwerty3 qewrtr qetroip 04 qwerty4 qetrt qçlkwteç ========================================= Código; 1 #!/bin/bash 2 # 3 VAR="FIM DO ARQUIVO" 4 VAR2="Station MAC, First time seen, Last time seen, Power, # packets, BSSID, Probed ESSIDs" 5 VAR3="Station MAC," 6 while read linha; 7 do 8 if ! [ "$linha" = "$VAR" ]; then 9 10 echo $linha 11 else 12 exit 1 13 fi 14 done < arq.txt Neste exemplo ocorreu corretamente, ele parou na linha em que queria que parasse e assim é possível tratar de forma adequada. Agora quando coloco outro arquivo que é o que eu estou tentando fazer o programa para ele, o mesmo não esta funcionando, ele não para na linha correta. ============================================================ BSSID, First time seen, Last time seen, channel, Speed, Privacy, Cipher, Authentication, Power, # beacons, # IV, LAN IP, ID-length, ESSID, Key 00:02:6F:3A:97:C1, 2008-10-09 19:19:40, 2008-10-09 19:19:43, 11, 5, WEP , WEP, , 0, 7, 6, 0. 0. 0. 0, 0, , 00:1C:10:54:4C:19, 2008-10-09 19:19:40, 2008-10-09 19:19:43, 11, 54, WPA , TKIP,PSK, 0, 3, 0, 0. 0. 0. 0, 14, familiaIKETANI, 00:0A:52:00:E8:C9, 2008-10-09 19:19:40, 2008-10-09 19:19:41, 8, 11, WEP , WEP, , 0, 7, 3, 0. 0. 0. 0, 4, WIND, 00:18:39:60:E0:3B, 2008-10-09 19:19:43, 2008-10-09 19:19:43, 6, 54, WPA , CCMP,PSK, 0, 2, 0, 0. 0. 0. 0, 9, linksysSM, Station MAC, First time seen, Last time seen, Power, # packets, BSSID, Probed ESSIDs 00:16:6F:A4:AB:21, 2008-10-09 19:19:40, 2008-10-09 19:19:43, 0, 66, (not associated) , 00:0B:6B:4F:7C:8F, 2008-10-09 19:19:42, 2008-10-09 19:19:42, -1, 1, 00:02:6F:3A:97:C1, 00:12:0E:59:EB:7E, 2008-10-09 19:19:42, 2008-10-09 19:19:43, -1, 4, 00:02:6F:3A:97:C1, 00:02:6F:3A:96:72, 2008-10-09 19:19:43, 2008-10-09 19:19:43, -1, 1, 00:02:6F:3A:97:C1, 00:15:AF:8F:5C:36, 2008-10-09 19:19:43, 2008-10-09 19:19:43, 0, 7, (not associated) , aberto ========================================================= è o mesmo código modificando a variável para VAR2. Puts pior que depois que eu copiei o código para o e-mail ocorreu de aparecer estes símbolos no final de cada linha, sera por esse motivo que ele não esta funcionando. Atenciosamente, Karin Klayton Em Qui, 2008-10-16 às 08:04 -0400, Édnei Rodrigues escreveu: > É, bem lembrado. Você quer ler o arquivo, > > Logo: > > Cat arquivo.txt | while read linha do > > Pronto, assim ele pega linha por linha, até o final. A variável > "linha" é a > que guarda a linha do arquivo lida. > > 2008/10/16 Humberto Cruz <[EMAIL PROTECTED]> > > > Karin, me parece que o comando read só irá ler a primeira linha do > > arquivo. Deve ter outra forma de fazer o que voce quer, se puder > > explicar melhor o que deseja... > > > > []s > > Humberto > > > > 2008/10/16 Édnei Rodrigues > <[EMAIL PROTECTED]<ednei.felipe.rodrigues%40gmail.com> > > >: > > > > > Qual é o erro que aparece? Qual é a saída ? > > > > > > if ! [ $linha = $VAR ] > > > > > > Isso não é entre aspas duplas ? > > > if ! [ "$linha" = "$VAR" ] > > > > > > 2008/10/15 Karin Klayton Schiochet > <[EMAIL PROTECTED]<karinklayton%40gmail.com> > > > > > > > > >> Senhores, > > >> > > >> Fazendo uma rápida apresentação, meu nome é Karin Klayton, sou > > >> Administrador de Redes e moro em Belém/Pa. Sou novo no grupo e > tenho > > >> lido bastante material a respeito de shell-script e já fiz alguns > > >> programas bem legal em shell-script. > > >> > > >> A minha duvida é a seguinte, estou tentando via shell-script ler > uma > > >> arquivo que é gerado de um programa em execução, e guardar linha > a linha > > >> para poder tratar os dados. > > >> > > >> Fiz algumas coisas mais até o momento não tive sucesso. > > >> Exemplo: arquivo.txt > > >> ITEM CAMPO_1 CAMPO_2 CAMPO_3 > > >> 01 qwerty aqwer qweryt > > >> 02 qwerty1 qwerr qerttyd > > >> 03 qwerty3 qewrtr qetroip > > >> 04 qwerty4 qetrt qçlkwteç > > >> > > >> FIM DO ARQUIVO > > >> > > >> ITEM CAMPO_1 CAMPO_2 CAMPO_3 > > >> 01 qwerty aqwer qweryt > > >> 02 qwerty1 qwerr qerttyd > > >> 03 qwerty3 qewrtr qetroip > > >> 04 qwerty4 qetrt qçlkwteç > > >> > > >> O que testei até o momento: > > >> > > >> VAR="FIM DO ARQUIVO" > > >> while read linha; > > >> do > > >> if ! [ $linha = $VAR ] > > >> echo $linha > > >> fi > > >> done < arquivo.txt > > >> > > >> Tentei algumas variantes seguindo esta linha do if tentando > comparar com > > >> a var que será constante mais não consegui. > > >> > > >> Agradeço qualquer informação mesmo que seja indicando material > para > > >> estudar. > > >> > > >> Um grande abraço a todos, > > >> > > >> -- > > >> Karin Klayton Schiochet > > >> [EMAIL PROTECTED] <karinklayton%40gmail.com> <karinklayton% > > 40gmail.com> > > >> Tel: (91) 8121-5809 > > >> > > >> > > >> > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > -- Karin Klayton Schiochet Administrador de Redes [EMAIL PROTECTED] Tel: (91) 8121-5809
