Olha que legal esta operação condicional usando o interpretador aritmético do Shell:
qtd=$[$(wc -l < arq) % 15 > 0?$(wc -l < arq) / 15 + 1:$(wc -l < arq) / 2] ou seja: se a expressão $(wc -l < arq) %15 > 0 for verdadeira, será executada a operação após o ponto de interrogação, senão a operação após os dois-pontos Abraços, Julio Cursos de Shell e Zenity em 2 fins de semana? - Em SP ligue (11) 2125-4747; - Em DF ligue (61) 3223-3000 (próxima turma de 1 a 4/10); - No RJ ligue (21) 2561-0867; - Turmas fechadas em outras cidades ligue (21) 8112-9988. 2009/9/24 Felipe Eltermann <[email protected]> > > > GRUPOS=$(expr `wc -l < $LISTA` / 15) # como o seu antigo > > # verifica se o resto da divisão não é zero. sendo o caso, soma 1 ao > resultado > if [ $(expr $LISTA % 15) -ne 0 ]; then GRUPOS=$(expr $GRUPOS + 1); > > 2009/9/24 sergiolinux1 <[email protected] <sergiolinux%40gmail.com>> > > > > > > > > Ola pessoal, obrigado pela ajuda de sempre. > > > > Tenho um arquivo com 66 linhas (esse numero pode variar para + ou -) > > > > Preciso "separar" em grupos de 15 e para saber quantos grupos tenho uso > > > > GRUPOS=$(expr `wc -l < $LISTA` / 15) > > > > O resultado é 4, então tenho 4 grupos de 15, certo? Errado porque 66 / 15 > = > > 4.4. > > > > Pergunto: Como fazer "interpretar" isso? Para ele ler 4.4? Ai se for > > diferente de um inteiro eu adiciono mais 1 na contagem de grupos. > > > > ex: se 66 / 15 for diferente de um inteiro soma 1. > > > > Não sei como trabalhar com ponto flutuante. Algem tem alguma idéia? > > > > Obrigado > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > [As partes desta mensagem que não continham texto foram removidas]
