O comando que você está procurando é basename
:
[root@localhost ~] # basename "/shares/media/Movie One/"
Movie One
[root@localhost ~] #
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?
O comando que você está procurando é basename
:
[root@localhost ~] # basename "/shares/media/Movie One/"
Movie One
[root@localhost ~] #
Tags find shell-script