![]() |
Olá e boas-vindas de Estados Unidos para o UNIX e Linux Forum! Obrigado por visitar e fazer parte da nossa comunidade global.
|
|
google unix.com
|
|||||||
| Fóruns | Registar | Fórum Regimento | Ligações | Álbuns | FAQ | Lista deputados | Calendário | Pesquisa | Today's Posts | Mark Forums Read |
| Programação Shell Script e Post perguntas sobre ksh, CSH, SH, BASH, Perl, PHP, SED, Awk e outros scripts shell e shell scripts línguas aqui. |
Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
|
||||
| Fio | Thread Starter | Fórum | Respostas | Última postagem |
| loop problema | piquete | Programação Shell Script e | 2 | 09-23-2008 10:15 |
| Para loop problema | mdap | Programação Shell Script e | 3 | 08-16-2008 01:27 |
| Problema no ciclo for | O Observador | Programação Shell Script e | 2 | 05-28-2008 02:43 |
| Problema com ciclo while e SQL | nandajk | UNIX para Dummies Perguntas & Respostas | 20 | 05-04-2007 06:19 |
| problema com o ciclo while | mridula | Alto Nível de programação | 1 | 12-11-2005 11:44 |
|
|
Linkback | Thread Tools | Pesquisar este Thread | Rate Thread | Display Modes |
|
||||
|
Enquanto loop duplo problema
Oi tudo, tenho deparado com um problema estranho com a dupla enquanto assinante. O objectivo das duas alças enquanto é comparar 2 ficheiros, tmplist.txt referência é o arquivo com a lista completa de servidores. Por favor, veja a foto em anexo para a lógica ea relação entre a entrada e saída.
A 2, enquanto alças devem procurar os servidores em / no test.csv / tmplist.txt, linha por linha. Por exemplo, primeiro item procura no / test.csv server2 in / tmplist.txt, a partir de primeira linha em / tmplist.txt (LINENUM \u003d 1), se não for encontrada uma saída, em seguida, "NA" e depois ir para a próxima linha em / tmplist.txt até que ele encontra a correspondência server2, e actualizar LINENUM ao mesmo tempo. Else vai avançar para a próxima pesquisa servidor SERVER3 in / tmplist.txt da linha atual em diante (uma vez que todos os servidores são sempre listados em ordem alphabatic). A variável LINENUM (indicador da linha número) utilizados no interior enquanto assinante. É como predefinidos 1, após a condição se if [$ SERVIDOR \u003d $ Refs] é verdade, vai LINENUM incremento e, em seguida, sair do interior, enquanto loop e continuar no exterior enquanto assinante. Contudo, no exterior, enquanto ciclo, cada vez que se lê e loops SERVIDOR COUNT, o LINENUM começa a partir do valor inicial 1 novamente, em vez de partir do incrementado LINENUM provenientes do interior, enquanto assinante. Abaixo mostra parte do programa com os detalhes da 2 enquanto loops. Alguém poderia ajudar a explicar-me o que está errado aqui? Esta é a minha primeira missão UNIX, vai realmente aprecio sua ajuda! #! / bin / bash TYPE \u003d P2PS LINENUM \u003d 1 enquanto lê SERVIDOR COUNT; fazer gato tmplist.txt | enquanto lê LINE; fazer Refs \u003d $ (head - $ LINENUM tmplist.txt | tail -1) if [$ SERVIDOR \u003d $ Refs]; então deixe LINENUM + + echo-n "," $ COUNT>> t.csv quebrar diferente deixe LINENUM + + echo-n ", NA">> t.csv continuar fi feito feito <test.csv |
| Marcadores |
| Tags |
| comandos unix |
| Thread Tools | Pesquisar este Thread |
| Display Modes | Esta taxa Thread |
|
|