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

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

Re: [shell-script] diretórios


From: Jose NIEVIADONSKI
Subject: Re: [shell-script] diretórios
Date: Thu, 5 Dec 2002 09:03:45 -0300

Alexander.

   Se você só tem um único caminho e quer o último diretório desse caminho
sugiro usar o comando basename e não precisa usar o sed ou grep para isso

Assim temos:
 $> basename /home/scripts/iniciando/teste
 teste

Agora se você tiver que processar vários diretórios e pegar o fim de cada
um deles, basta por o basename dentro de um for que deve resolver o
problema.

for arq in $(comando que gera lista dos diretorios)
do
    # obtendo a parte final na variável dir
    dir=$(basename $arq)

    echo Processando $dir
    #...
    #... Processamento do diretorio
    #...
done

Atenciosamente
José Augusto Martins Nieviadonski
Analista de Suporte Consultor
HSBC Bank Brasil S.A.
Treinamento de Informática

P.S. Para aqueles que possuem e/ou trabalham com o maravilhoso ksh, existe
uma opção muito mais rápida de se fazer o loop acima pois não implica na
criação de nenhum processo novo a cada interação do loop

for arq in $(comando que gera lista dos diretorios)
do
    # Usando a característica do ksh para obter só a parte final
    # do valor de uma variável, jogando fora a maior parte que é
    # reconhecida por '*/' do lado esquerdo do conteúdo da variável

    dir=${arq:##*/}

    echo Processando $dir
    #...
    #... Processamento do diretorio
    #...
done




      Para: <address@hidden>
      cc:
      cco:  Jose NIEVIADONSKI/HBBR/HSBC
      Assunto:    [shell-script] diretórios
<address@hidden>

04/12/2002 11:26 PM
Favor responder a shell-script            <font size=-1></font>

Olá pessoal!!!

Tenho uma dúvida bem simples de ser resolvida.

Preciso pegar o último diretório de uma pilha de diretórios.

Por exemplo:

Pegar a string teste de um caminho /home/scripts/iniciando/teste

Tentei usar popd, pushd, etc, e não consegui.

Não consegui fazer um ER em sed ou grep para isso.

Alguém pode me ajudar?

[]'s
Alexander




This E-mail confidential. It may also be legally privileged. If you are not the 
addressee you may not copy, forward, disclose or use any part of it. If you 
have received this message in error, please delete it and all copies from your 
system and notify the sender immediately by return E-mail.
Internet communications cannot be guaranteed to be timely, secure, error or 
virus-free. The sender does not accept liability for any errors or omissions.



reply via email to

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