我有一个文件夹,里面有很多文件夹,每个文件夹都包含一个电影文件。现在我希望能够一次看到所有这些电影(但我必须保留文件夹结构)所以我想将它们全部符号链接到顶级文件夹(目录 Opus 中的平面视图将是这里的选择,但我我在 Mac 上)。这是我的尝试
for file in */*/*.mov;
do
newname='echo $file | sed "s|[^/]*/[^/]*/||g"';
ln -s $file echo $newname;
done
所以我在第 3 行尝试做的是将路径 foo/bar/spud.mov 转换为 spud.mov 然后在第 4 行执行 ln -s foo/bar/spud.mov spud.mov
但它不起作用,我得到的只是
ln: "s|[^/] /[^/] /||g": 没有那个文件或目录
我尝试了各种引号和转义组合,但没有运气。sed 表达式有效,但我显然用我的变量搞砸了一些东西。
谢谢