试图在文件夹结构中查找特定部分,但是在bash脚本中使用RegEx遇到麻烦-furthermore I don’t speak RegEx fluently.我需要知道我传递给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中执行此操作.
我正在尝试在媒体下面找到文件夹的名称.所以基本上我想创建这样的东西(非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或使用find或更好的方法来获取特定的currentFolder?
>我能在一个明智的案例陈述中做到所有这些吗?
解决方法:
您可以在case语句中使用basename和dirname:
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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。