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: Julio C. Neves
Subject: Re: [shell-script] Re: Escrever o resultado de um comando no final de cada linha de um arquivo
Date: Fri, 10 Oct 2014 10:57:08 -0300

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         Local Período
Rio de Janeiro EDX 10 a 14/11
São Paulo 4Linux 24 a 28/11
Dou treinamento de Shell em qualquer cidade.
Para mais detalhes, me mande um e-mail.


Em 10 de outubro de 2014 09:51, Paulo Bettega address@hidden [shell-script] <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 [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>
> [shell-script] <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> [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>> [shell-script]
>      > <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>
>     ---------------------------------------------------------------------
>     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>
>     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
>
>


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

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

---------------------------------------------------------------------
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
---------------------------------------------------------------------
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:
    address@hidden

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




reply via email to

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