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: Wanderson Gonzalez
Subject: Re: [shell-script] Como separar o ultimo campo.
Date: Thu, 4 Nov 2010 13:18:19 -0700 (PDT)

Moacir,
muito obrigado, sua dica resolveu meu problema

--- Em qui, 4/11/10, Moacir Souza <address@hidden> escreveu:


De: Moacir Souza <address@hidden>
Assunto: Re: [shell-script] Como separar o ultimo campo.
Para: address@hidden
Data: Quinta-feira, 4 de Novembro de 2010, 20:12


  



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