Encontre diretórios com um certo nome

3

Como posso percorrer cada diretório recursivamente e sempre que encontrar uma pasta chamada VIDEO_TS, deixe que o Genisoimage converta o conteúdo dessa pasta em uma imagem iso de dvd-video, o nome da iso seria o nome da pasta pai.

O comando que eu uso para um único diretório:

genisoimage -o movie_1.iso -dvd-video /shares/media/movies/Movie 1

E este é o script que eu recebi:

#!/bin/bash
parent_path=""
full_path=""

for file in $(find /shares/media/ -type d -name 'VIDEO_TS')
do

parent_path="$(dirname -- "$file")"
full_path="$file"

done

Então eu tenho o caminho pai e o caminho completo para o diretório VIDEO_TS.

parent_path="/shares/media/Movie One/"
full_path="/shares/media/Movie One/VIDEO_TS/"

Como posso obter apenas o Movie One do parent_path? E quando eu uso sprintf para ecoar as duas variáveis, os espaços são removidos ou substituídos por uma quebra de linha. É seguro usar essas variáveis com o comando?

    
por NullBy7e 28.11.2013 / 20:26

1 resposta

4

O comando que você está procurando é basename :

[root@localhost ~] # basename "/shares/media/Movie One/"
Movie One
[root@localhost ~] #
    
por 28.11.2013 / 20:42