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: André Saunite
Subject: Re: [shell-script] Como separar o ultimo campo.
Date: Thu, 04 Nov 2010 14:38:42 -0600
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.15) Gecko/20101030 Icedove/3.0.10

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]



reply via email to

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