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

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

Re: [shell-script] Re: Escrever o resultado de um comando no final de ca


From: Paulo Bettega
Subject: Re: [shell-script] Re: Escrever o resultado de um comando no final de cada linha de um arquivo
Date: Fri, 10 Oct 2014 11:36:57 -0300
User-agent: Mozilla/5.0 (X11; Linux i686; rv:31.0) Gecko/20100101 Thunderbird/31.1.2

Olá Julio, valeu a dica. O melhor de tudo é que funciona como linha de comando,
dá pra rolar a saída e usar <tab>.
Que vergonha, tem tudo no man less :) eu só sabia o básico mesmo, procurar pra 
cima
e pra baixo.

Abraços Paulo Bettega


On 10-10-2014 10:57, 'Julio C. Neves' address@hidden [shell-script] wrote:
Paulo, já que vc abordou o tema do man / less, deixa colocar uma continuidade 
nesse assunto, pq o
que direi agora é muito pouco conhecido e é muito útil.

Imagine que vc tenha feito um man ls e acha que a opção -1 do ls é o que vc 
precisa. OK, mas para
ter certeza, vamos testar. Para fazer o teste é necessário sair do man, fazer o 
teste e caso não
seja nenhuma Brastemp, vc terá que voltar ao man, procurar o local em que vc 
estava e sair lendo
para achar outra opção que sirva, recomeçando esse ciclo novamente. Certo? 
Errado! Vc pode testar o
ls -1 dentro do próprio man, para isso, basta fazer:

!ls -1

Ele voltara para a tela que vc chamou o man e executará o comando. No fim do terte 
d^<ENTER> e vc já
estará de volta ao mesmo lugar que estava no man.

Essa dica tb vale para o vi, vim (mas nesses é necessário um dois pontos (:) 
antes do ponto de
exclamação), less e more (que eu me lembre agora).

Só mais uma coisinha, complementando o que o Paulo disse: "Meio off-topic, mas 
vc pode pesquisar a
man page, digite / e 'human', use ctr-p e ctr-n para navegar". Eu complemento: 
a barra (/) procura
para frente e o ponto de interrogação (?) - ou será ponto de perguntação - 
procura para trás. Para
pesquisar a próxima ocorrência, para frente ou para trás, use o n.

Durante a LatinoWare, que será na próxima semana em Foz do Iguaçu, lecionarei 
uma oficina de
Expressões Regulares (entrada grátis). Quem for da lista e estiver lá, por 
favor, se apresente.

Abcs,
Julio
*@juliobash*
*Próximos cursos de Shell*
*Cidade        LocalPeríodo*
*Rio de JaneiroEDX <http://edx.srv.br/>10 a 14/11*
*São Paulo 4Linux 
<http://www.4linux.com.br/cursos/programacao-em-shell-script>24 a 28/11*
Dou treinamento de /Shell/ em qualquer cidade.
Para mais detalhes, me mande um e-mail <mailto:address@hidden>.


Em 10 de outubro de 2014 09:51, Paulo Bettega address@hidden
<mailto:address@hidden> [shell-script] <address@hidden
<mailto:address@hidden>> escreveu:

    A tua versão é antiga :) veja se exite pacote atualizado ou se
    vc consegue compilar uma mais atual.

    A minha é
    tree --version
    tree v1.6.0 (c) 1996 - 2011 by Steve Baker, Thomas Moore, Francesc Rocher, 
Kyosuke Tokoro

    Se não errei na pesquisa, a opção -h existe desde
    Version 1.5.1
          Added -h option for human readable output.


    Meio off-topic, mas vc pode pesquisar a man page, digite / e 'human',
    use ctr-p e ctr-n para navegar. Como padrão o man usa o less como
    paginador.

    Abraços Paulo Bettega


    On 10-10-2014 09:30, Osvaldo Filho address@hidden
    <mailto:address@hidden> [shell-script] wrote:
     > Obrigado Paulo,
     >
     >
     > Mas minha versão do tree aqui não possui a opção "h".
     >
     >
     >
     >
     > 2014-10-10 9:27 GMT-03:00 Paulo Bettega address@hidden
    <mailto:address@hidden> <mailto:address@hidden <mailto:address@hidden>>
     > [shell-script] <address@hidden <mailto:address@hidden>
    <mailto:address@hidden <mailto:address@hidden>>>:
     >
     >     A opção -h deixa os números 'legíveis para humanos' :)
     >     e pra botar o tamanho no fim usei um sed, está bastante genérico
     >     e pode dar problema com algum nome
     >
     >     tree -hs|sed -r 's/--( \[.*\])(.*)/--\2\1/'
     >
     >     Abraços Paulo Bettega
     >
     >     On 10-10-2014 08:56, Osvaldo Filho address@hidden
    <mailto:address@hidden>
     >     <mailto:address@hidden <mailto:address@hidden>>
    [shell-script] wrote:
     >     > Bom dia,
     >     >
     >     >
     >     > Agradeço a todas as respostas. Na verdade as saídas após cada 
linha são diferentes.
    Utilizei a saída
     >     > do Julio, mas a formatação apresentada na stdout não foram 
visualmente como eu esperava.
     >     > Minha idéia é era gerar um arquivo com a saída do comando tree e 
logo após cada linha
    apresentar o
     >     > tamanho de cada arquivo no formato human readble.
     >     > A opção -s (comando tree) mostra o tamanho antes do nome e não no 
formato human readble.
     >     >
     >      > 2014-10-10 6:08 GMT-03:00 address@hidden <mailto:address@hidden>
    <mailto:address@hidden <mailto:address@hidden>>
     >     <mailto:address@hidden <mailto:address@hidden>
    <mailto:address@hidden <mailto:address@hidden>>> [shell-script]
     >      > <address@hidden <mailto:address@hidden>
    <mailto:address@hidden <mailto:address@hidden>>
     >     <mailto:address@hidden <mailto:address@hidden>
    <mailto:address@hidden <mailto:address@hidden>>>>:
     >      >
     >      >     __
     >     >
     >     >     As soluções apresentadas, se for para uma saída comum a todas 
as linhas, são as
    melhores.
     >     >
     >     >     Dependendo do contexto que vc quer, usar uma variável no awk 
(usar sed tb
    funcionaria), usar o
     >     >     laço while ou o xargs no script dão uma solução ideal.
     >     >
     >     >     Mas se o comando que vc quer depende do resultado de cada 
linha, pode usar o system
    dentro do awk.
     >     >
     >     >     Vou dar um exemplo usando o seq como o Júlio fez, imprimir 
cada linha e depois
    calcular o seu
     >     >     quadrado:
     >     >
     >     >     seq 10 | awk '{printf $1 " "; system("echo \""$1"^2\"| bc")}'
     >     >
     >     >     Obs: Atente para o uso das aspas duplas escapadas e junto a 
aspas duplas sem escape
     >     >
     >     >     []'s
     >     >     Itamar
     >     >
     >     >
     >     >
     >     >
     >     > --
     >     > Att,
     >     >
     >     > Osvaldo Filho.
     >     >
     >     > Analista de Suporte (Operações de Datacenter - Backup e Storage) - 
Synapsis Brasil.
     >      > Sócio-fundador do i-TIC Digital Livre 
<https://www.facebook.com/iticdigital> - Informação
     >     Livre para
     >     > todos!
     >     > Twitter i-TIC Digital Livre: @iticdigital
     >     > TUX-CE Member.
     >     > Graduado em Redes de Computadores - Centro Universitário Estácio 
do Ceará.
     >     > Técnico em Conectividade com Extensão em Desenvolvimento de 
Software - IFCE (Cefet).
     >     > Graduando em Telemática - IFCE (Cefet).
     >     > Novell Datacenter Technical Specialist.
     >     > Linux Professional Institute Certified Level 1.
     >     > Novell Certified Linux Administrator (CLA).
     >     >
     >     > Facebook: Osvaldo Filho
     >     > Twitter: @osvaldofilho
     >     >
     >     >
     >
     >
     >     ------------------------------------
     >
     >     ------------------------------------
     >
     >     ---------------------------------------------------------------------
     >     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
    <mailto:address@hidden>
     >     <mailto:address@hidden
    <mailto:address@hidden>>
     >     ---------------------------------------------------------------------
     >     Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
     >     ---------------------------------------------------------------------
     >     Servidor Newsgroup da lista: news.gmane.org <http://news.gmane.org> 
<http://news.gmane.org>
     >     Grupo: gmane.org.user-groups.programming.shell.brazil
     >
     >
     >     ------------------------------------
     >
     >     Links do Yahoo Grupos
     >
     >
     >
     >
     >
     > --
     > Att,
     >
     > Osvaldo Filho.
     >
     > Analista de Suporte (Operações de Datacenter - Backup e Storage) - 
Synapsis Brasil.
     > Sócio-fundador do i-TIC Digital Livre 
<https://www.facebook.com/iticdigital> - Informação
    Livre para
     > todos!
     > Twitter i-TIC Digital Livre: @iticdigital
     > TUX-CE Member.
     > Graduado em Redes de Computadores - Centro Universitário Estácio do 
Ceará.
     > Técnico em Conectividade com Extensão em Desenvolvimento de Software - 
IFCE (Cefet).
     > Graduando em Telemática - IFCE (Cefet).
     > Novell Datacenter Technical Specialist.
     > Linux Professional Institute Certified Level 1.
     > Novell Certified Linux Administrator (CLA).
     >
     > Facebook: Osvaldo Filho
     > Twitter: @osvaldofilho
     >
     >


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

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



reply via email to

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