使用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
答案 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