Salviano,
legal sua solução parametrizada.

Só para ser diferente e exercitar um pouco de shell:
com funçao
sem continue
com start
com stop opcional
permite multiplos blocos start/stop

f(){ Y=;while read L;do [ "$3" -a "$3" == "$L" ]&&Y=;[ $Y ]&&echo "$L"
[ "$2" == "$L" ]&&Y=1;done<$1;}

Onde: $1=arquivo $2=start $3=stop

Fácil adaptar para usar stdin ao invés de arquivo, daí com arquivo
poderia usar "cat arq|..."

Fácil também alterar para que linhas start e stop façam parte da saída,
start opcional, etc.

Bom para autoaprendizado, experimentando e "xeretando".
Fiz embolada de propósito, só para xeretas, nerds, hackers, ... :)

Enfim, acho que a melhor e mais agradável forma de aprendizado é a natural, 
tipo criança,
e shell se aprende brincando...
EMHO (pt_BR :)

Saudações!


------------------------------------------
>From: Salviano de Araujo
>
>Aqui vai um script um pouco mais claro:
>
>#!/bin/sh
>FILE="$1"
>COND="$2"
>FLAG=1
>while  read linha 
>do
>if [ "$linha" = "$COND" ]
>then
>FLAG=0
>echo "FLAG alterado"
>echo "O Flag foi alterado na linha:  $linha"
>elif [ $FLAG -eq 0 ]
>then
>echo "A linha desejada eh: $linha"
>FLAG=1
>fi
>done<"$FILE"
>
>
>Para verificar se duas cadeias de caracteres são idênticas usa-se o =.



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

---------------------------------------------------------------------
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: [EMAIL PROTECTED]
---------------------------------------------------------------------
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

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html


Responder a