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]
