尝试在文件夹结构中查找特定部分,但我在 bash 脚本中使用 RegEx 时遇到问题 -此外,我的正则表达式说得不太流利。我需要知道我传递给 bash 脚本的文件夹“类型”。根据当前所在的文件夹“类型”,需要运行不同的操作。
以下示例文件夹结构:
/home/usr/media/series/Great.Series.S01E02.Something
/home/usr/media/movies/Some.Movie.Here
/home/usr/media/music/An Album Here
/home/usr/media/music/Another Album
我使用过 RegExr,但找不到解决方案:http://regexr.com/39mk4。我不知道如何在 bash 中执行此操作。
我正在尝试查找文件夹的名称below media
。所以基本上我想创建这样的东西(非 bash 伪代码):
$currentFolder = '/home/usr/media/series/Great.Series.S01E02.Something'
//magic, the following would need to be series|movies|music depending on the input path
$currentFolder = 'series'
switch ($currentFolder) {
case 'series':
//something
case 'movies':
//something else
case 'music':
//more
}
一个由两部分组成的问题:
- 我如何
grep
or use find
或者更好的东西来获得特定的currentFolder
?
- 我可以聪明地完成这一切吗
case
陈述?
您可以使用basename
and dirname
with case
声明:
currentFolder='/home/usr/media/series/Great.Series.S01E02.Something'
currentFolder=$(basename $(dirname $currentFolder))
case $currentFolder in
series)
# Do something
;;
movies)
# Do something else
;;
music)
# another
;;
*)
;;
esac
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)