从bash脚本的中点开始检索子字符串

时间:2013-12-11 16:33:15

标签: bash

使用bash脚本,是否有一种简单的方法从文件路径的中间开始提取子字符串?

从研究中我发现了http://tldp.org/LDP/abs/html/string-manipulation.html,但似乎无法从中间点开始匹配子字符串。

我有一个bash脚本,用于编录在不同备份驱动器上镜像的特定目录和子目录的内容。使用dirname我可以将路径分配给变量,但我不想要整个路径。以下是我可能会处理的一些路径的示例:

/media/mediaLibrary/movies
/medis/BackUp-01/movies/any_directory
/mnt/BackUp-02/movies/any_directory/any_directory

我想要在电影前放下任何必要的步骤。以上样本将成为:

movies
movies/any_directory
movies/any_directory/any_directory

1 个答案:

答案 0 :(得分:1)

Pure BASH方式:

for s in '/media/mediaLibrary/movies' '/medis/BackUp-01/movies/any_directory' '/mnt/BackUp-02/movies/any_directory/any_directory'
do
   echo "${s/*movies/movies}"
done
movies
movies/any_directory
movies/any_directory/any_directory