各ディレクトリを再帰的に繰り返す方法と、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を使用してこれら2つの変数をエコーすると、スペースは削除されるか改行文字に置き換えられます。コマンドにこれらの変数を使用しても安全ですか?
答え1
探しているコマンドは次のとおりですbasename
。
[root@localhost ~] # basename "/shares/media/Movie One/"
Movie One
[root@localhost ~] #