Você pode inverter a string e pegar o primeiro campo:


dirname /mnt/comp/musicas/Audioslave/Musicas.mp3 | rev | cut -f1 -d'/' | rev



Ou usar um sed:



dirname /mnt/comp/musicas/Audioslave/Musicas.mp3 | sed 's/.*\///'



Abraços

--- Em sáb, 12/9/09, Elder Marco <[email protected]> escreveu:

De: Elder Marco <[email protected]>
Assunto: [shell-script] Pegar o diretório em que um arquivo está
Para: [email protected]
Data: Sábado, 12 de Setembro de 2009, 12:52






 




    
                  



Caros, estou escrevendo um script que faz procura por arquivos dentro de

uma estrutura de diretórios e quando casa o padrão, eu copio esse

arquivo para um outro diretório. No entanto, eu gostaria não somente de

copiar esse arquivo, mas também criar um diretório com o mesmo nome que

o que ele está e então mover ele para esse diretório para edição. 



Seria algo assim:



O arquivo: /mnt/comp/musicas/ Audioslave/ Musica.mp3



Então, eu iria mover o arquivo Musica.mp3 para ~/Música/Editar. Mas por

uma questão de organização, gostaria de criar o diretório

~/Músicas/Editar/ Audioslave e então mover o arquivo Música.mp3 para

ele. 



Bom, uma maneira que achei foi:



dirname /mnt/comp/musicas/ Audioslave/ Musicas.mp3 | cut -f '/' -f 5



Mas eu achei isso meio deselegante e, além do mais, o campo pode não ser

fixo. Existe uma maneira melhor de pegar o nome do diretório em que o

arquivo está?



Abs,

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

Elder Marco



GNU/Linux User: #471180



"Contra o positivismo, que pára perante os fenômenos e diz: 'Há apenas

fatos', eu digo: 'Ao contrário, fatos é o que não há; há apenas

interpretações'. "(Nietzsche)



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




 

      

    
    
        
         
        
        








        


        
        


      
____________________________________________________________________________________
Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com

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

Responder a