查找具有特定名称的目录

查找具有特定名称的目录

如何递归地循环遍历每个目录,并且每当找到名为 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 中仅获取电影一?当我使用 sprintf 来回显这两个变量时,空格会被删除或替换为换行符。在命令中使用这些变量是否安全?

答案1

您正在寻找的命令是basename

[root@localhost ~] # basename "/shares/media/Movie One/"
Movie One
[root@localhost ~] #

相关内容