각 디렉토리를 재귀적으로 반복하는 방법과 VIDEO_TS라는 폴더가 발견될 때마다 Genisoimage가 해당 폴더의 내용을 dvd 비디오 iso 이미지로 변환하도록 하면 iso의 이름이 상위 폴더의 이름이 됩니다.
단일 디렉터리에 사용하는 명령은 다음과 같습니다.
genisoimage -o movie_1.iso -dvd-video /shares/media/movies/Movie 1
이것은 내가 얻는 스크립트입니다.
#!/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
이 방법으로 VIDEO_TS 디렉토리의 상위 경로와 전체 경로를 얻습니다.
parent_path="/shares/media/Movie One/"
full_path="/shares/media/Movie One/VIDEO_TS/"
parent_path에서 영화 1만 얻는 방법은 무엇입니까? sprintf를 사용하여 이 두 변수를 에코하면 공백이 제거되거나 개행 문자로 대체됩니다. 명령에 이러한 변수를 사용해도 안전합니까?
답변1
찾고 있는 명령은 다음과 같습니다 basename
.
[root@localhost ~] # basename "/shares/media/Movie One/"
Movie One
[root@localhost ~] #