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

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

Re: [shell-script] Duvida sobre comandos


From: Tiago Barcellos Peczenyj
Subject: Re: [shell-script] Duvida sobre comandos
Date: Fri, 16 Dec 2005 15:43:48 -0200

Vejamos:

head -$i arquivo1.txt | tail -1 |

o head -N pega as N primeiras linhas.
o tail -M pega as M ultimas linhas.

head -$i ... | tail -1  > te dá a linha de numero $i desse arquivo.

completamente inutil pois o awk lê linha a linha o arquivo fonte

faça:
awk '{print $1" "$2" "$3" "$4" "$5" "$6" "$7" "%8" "$9" "$10}' arquivo1.txt

isso fará até o fim do arquivo. Como vc faz de 1 até $num, vc pode colocar
um head no fim, para pegar as $num primeiras linhas, muito mais eficiente
caso vc não queira pegar todos os resultados.

awk '{print $1" "$2" "$3" "$4" "$5" "$6" "$7" "%8" "$9" "$10}'
arquivo1.txt| head -$num

Assim é mais eficiente. Agora, por que tu está fazendo %8 ? aqui imprime um
O no lugar da coluna, oque isso faz ? caso vc não tenha nenhuma
particularidade, vc pode usar o cut pra fazer isso

cut -d\  -f 1-10 arquivo1.txt | head -$num

no caso estamos usando o espaco '\ ' como delimitador.

É apenas uma sugestão, se $num for muito grande vc pode perder muito tempo.

Em 16/12/05, coquetelmolotov752 <address@hidden> escreveu:
>
>
> Ola pessoal.
> Bem, tenho usado um  pouco dos poderosos scripts no meu trabalho, e
> tenho me esforçado pra aprender. Um dia desses, pedindo ajuda a um
> colega para filtrar e criar outro arquivo baseado num .txt de tabelas,
> ele entre outras coisas usou a seguinte linha de comando:
>
> for i in `seq 1 $num`; do head -$i arquivo1.txt | tail -1 | awk
> '{print $1" "$2" "$3" "$4" "$5" "$6" "$7" "%8" "$9" "$10}'; done
>
> O for, o awk, tudo isso entendi. O que ficou um pouco obscuro e que
> nao consigo entender é o trecho "do head -$i arquivo1.txt | tail -1 |"
>
> o que ele fez usando o head e o tail? e por que assim? ha outra
> maneira da faze-lo?
> Bem, se alguem puder me ajudar, agradeço.
>
> Obrigado.
> Dexter.
>
>
>
>
>  ---------------------------------------------------------------------
> 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
> ---------------------------------------------------------------------
>
>
>
>  *Yahoo! Grupos, um serviço oferecido por:*  PUBLICIDADE
> <http://br.rd.yahoo.com/SIG=12fmmq7nn/M=386470.7632849.8508174.2369893/D=brclubs/S=2137111254:HM/Y=BR/EXP=1134759209/A=3135788/R=2/id=noscript/SIG=12c39trgo/*http://ad.br.doubleclick.net/clk;22846485;12120066;a?http://www.hoteis.com>
> ------------------------------
> *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:
>    address@hidden<address@hidden?subject=Unsubscribe>
>
>    - O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
>    Serviço do Yahoo! <http://br.yahoo.com/info/utos.html>.
>
>


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



reply via email to

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