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

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

Re: [shell-script] Como separar o ultimo campo.


From: Enio Onodera
Subject: Re: [shell-script] Como separar o ultimo campo.
Date: Thu, 4 Nov 2010 13:48:59 -0700 (PDT)

Legais mesmo as soluções. Eu não conhecia o rev e não sou bom em awk...Não 
entendi muito bem a finalidade do script, mas se for pra separar o caminho do 
diretório dos arquivos que ele contém, eu usaria:
ls -laR
com devidos filtros de interesse.Creio não ser a melhor solução e nem a que 
melhor atende às necessidades do Wanderson, mas fica registrada a idéia.
Abs,Enio Onodera




--- Em qui, 4/11/10, André Saunite <address@hidden> escreveu:

De: André Saunite <address@hidden>
Assunto: Re: [shell-script] Como separar o ultimo campo.
Para: address@hidden
Data: Quinta-feira, 4 de Novembro de 2010, 18:38















 
 



  


    
      
      
      Legal essa forma, nunca usei muito o rev, eu provavelmente faria dessa 

forma:



$ cat a

/dados/teste/uu/eu.sh

/dados/eu/eu.log

/nfs/bin/cp



$ awk -F\/ '{print $NF}' a

eu.sh

eu.log

cp



$ for i in `cat a`; do dirname $i ; done

/dados/teste/uu

/dados/eu

/nfs/bin



Me parece que a forma com o cut e rev é melhor, só estou enviando esse 

email pra demonstrar outra forma de se fazer.



Abs,

André Saunite



On 11/04/2010 02:12 PM, Moacir Souza wrote:

>

> Wanderson,

>

> Primeiro gostaria de fazer algumas perguntas, pois a solução que

> vou mostrar a seguir pode não ser completa sem conhecer esses

> detalhes:

>

> 1 - No último item do seu exemplo, o "cp" é um diretório ou um arquivo?

> 2 - Ou arquivos tem sempre um ponto para separá-los das suas

> respectivas extensões?

>

> E agora o exemplo. Eu gosto de resolver problemas assim usando

> uma combinação de cut e rev. Claro que existem outros métodos, mas sou

> fã desse em particular porque ele é divertido, criativo e já me ajudou

> um bocado. Veja:

>

> 1 - O arquivo com os itens:

>

> $ cat a

> /dados/teste/uu/eu.sh

> /dados/eu/eu.log

> /nfs/bin/cp

>

> 2 - Os arquivos, ou campos finais

>

> $ rev a | cut -d / -f 1 | rev

> eu.sh

> eu.log

> cp

>

> 3 - Os caminhos (ou full paths, como você chamou):

>

> $ rev a | cut -d / -f 2- | rev

> /dados/teste/uu

> /dados/eu

> /nfs/bin

>

> []'s,

> Moacir Filho

>

> 2010/11/4 Wanderson Gonzalez <address@hidden 

> <mailto:wandersongonzalez%40ymail.com>>:

> > Galera,

> > preciso pegar o ultimo campo. Vou explicar, tenho as linhas

> >

> > /dados/teste/uu/eu.sh

> > /dados/eu/eu.log

> > /nfs/bin/cp

> >

> > preciso separar o que é o full path e o que é o arquivo. Tipo:

> >

> > full=/dados/teste/uu/

> > arq=eu.sh

> >

> > full=/dados/eu/

> > arq=eu.log

> >

> > e por ai vai.

> >

> > Sendo que podera haver fullpaths de todos os tamanhos..

> >

> > ja tentei usar o seguinte comando

> >

> > ls /dados/nfs/nfs.sh |cut -d '/' -f 4-

> >

> > ai eu consigo pegar o nfs.sh

> >

> > so que posso ter o seguinte ls /dir1/dir2/dir3/dir/dir5/arquivo

> >

> > como fazer para que o -f 4- seja auto ajustavel ??

> >

> > Grato

> >

> >

> >

> >

> >

> >

> >

> > ------------------------------------

> >

> > ----------------------------------------------------------

> > 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:shell-script-unsubscribe%40yahoogrupos.com.br>

> > ----------------------------------------------------------

> > 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

> >

> >

> >

>

> -- 

> =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

> Moacir da Cruz Souza Filho

>

> Analista de Sistemas: Suporte Unix Avançado

> Mestrando em Ciências da Computação

> Bacharel em Engenharia da Computação

> Técnico em Eletrônica

> Linux user #449600

> =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

>

> 



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





    
     

    
    


 



  











      

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



reply via email to

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