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

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

Re: [shell-script] Re: [ expr ] - Saída do AWK


From: Paulo Bettega
Subject: Re: [shell-script] Re: [ expr ] - Saída do AWK
Date: Fri, 12 Sep 2014 11:41:07 -0300
User-agent: Mozilla/5.0 (X11; Linux i686; rv:31.0) Gecko/20100101 Thunderbird/31.1.0

Ainda na pergunta anterior :) com expr, e no awk acho que também dá.
(desculpem se entendi errado a pergunta).

$ ls -l etc.tgz|awk '{print $5}'
3160461

$ ls -l etc.tgz|awk '{print $5*8}'
25283688

$ expr $(ls -l etc.tgz|awk '{print $5}') \* 8
25283688

Meu pensamento na tua dúvida desse email, ficou meio feio mas
acho que faz o trabalho.

$ tamanho=$(ls -l etc.tgz|awk '{print $5}')
$ [ "$tamanho" -lt 1000000000 ] && echo 0$(bc 
<<<"scale=3;$tamanho/1000000000")GB
0.003GB

Abraços Paulo Bettega

On 12-09-2014 10:16, Gustavo Filgueiras address@hidden [shell-script] wrote:
Caros,


     Muito obrigado por todas as respostas e soluções, minha dúvida foi 
solucionada.
     Porém pesquisando mais, estou com outra dúvida.

     Gostaria de extrair o tamanho em GB, mas levando em conta o arquivo de 
100MB, se eu der um ls
-l --block-size=G |grep arquivo.img, vai me retornar 1GB.
      ls -l --block-size=G |grep arquivo.img
      -rw-r--r-- 1 root root 1G Sep 11 15:16 arquivo.img

      Mas gostaria que me retorna-se mais preciso, de verdade ele deveria 
retornar ( 0.09765625 )
mas se possivel cortar em 2 casas decimais. Procurei algo, mas nada funcionou 
bem, tentei usando
printf mas sem sucesso.

      0.09 GB

Em 12 de setembro de 2014 02:11, Fernando Mercês address@hidden 
<mailto:address@hidden>
[shell-script] <address@hidden <mailto:address@hidden>> escreveu:

    __

    Ok, última mensagem sobre... Mas acho que vale a pena ver opções diferentes 
pra mesma coisa:

    $ stat -c %s*8 mail.php | bc
    2272

    Agora sim, fui. o/




    Att,

    Fernando Mercês
    Linux Registered User #432779
    www.mentebinaria.com.br <http://www.mentebinaria.com.br>
    ------------------------------------
    "Ninguém pode ser escravo de sua identidade; quando surge uma possibilidade 
de mudança é preciso
    mudar". (Elliot Gould)

    2014-09-12 2:01 GMT-03:00 Fernando Mercês <address@hidden 
<mailto:address@hidden>>:

        De novo, sei que já resolveu o problema, mas se precisar de desempenho 
pra isso (for fazer
        com muitos arquivos), fiz uma implementaçãozinha rápida em ANSI C, 
assim você não depende do
        bash, bc, nem mesmo do Linux. Imitei a saída do wc. ;-)

        $ gcc -o bits bits.c

        $ ./bits mail.php .ssh/config .htcfg2
        2272 mail.php
        20376 .ssh/config
        14064 .htcfg2
        36712 total

        $ ./bits mail.php
        2272 mail.php

        Aí se for o caso você altera como quiser, pra não imprimir o nome do 
arquivo, ou não
        imprimir o total.. Enfim, tu que sabe. :)
        Mesmo que não use, já me diverti. Sem erro. hehe

        Abraço!



        Att,

        Fernando Mercês
        Linux Registered User #432779
        www.mentebinaria.com.br <http://www.mentebinaria.com.br>
        ------------------------------------
        "Ninguém pode ser escravo de sua identidade; quando surge uma 
possibilidade de mudança é
        preciso mudar". (Elliot Gould)

        2014-09-12 1:09 GMT-03:00 Fernando Mercês <address@hidden 
<mailto:address@hidden>>:

            Opa, sei que já foi respondido, mas se você já sabe o nome do 
arquivo, por que usar ls |
            grep? Eu faria direto, e talvez com o wc ao invés do ls ;-)

            Com aritimética do bash:
            $ echo $(($(wc -c < mail.php) * 8))
            2272

            Com aritimética do bc:
            $ echo "$(wc -c < mail.php) * 8" | bc
            2272

            Abraço!



            Att,

            Fernando Mercês
            Linux Registered User #432779
            www.mentebinaria.com.br <http://www.mentebinaria.com.br>
            ------------------------------------
            "Ninguém pode ser escravo de sua identidade; quando surge uma 
possibilidade de mudança é
            preciso mudar". (Elliot Gould)

            2014-09-11 16:55 GMT-03:00 address@hidden <mailto:address@hidden>
            [shell-script] <address@hidden <mailto:address@hidden>>:

                __

                Claro que a conversao no caso foi base 2 mas pode ser base=8 ou 
base=16 etc..
                Abracp








reply via email to

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