将所有文件复制到其父文件夹

将所有文件复制到其父文件夹

我需要将文件树中的所有视频文件移动到其父文件夹中,例如:

起源:

A--sub1--file1
         file2
   sub2--file3
       --file4
   sub3--file5
B--sub1--file1
         file2
   sub2--file3
       --file4
   sub3--file5
   ...

我需要的:

A--file1
   file2
   file3
   file4
   file5
B--file1
   file2
   file3
   file4
   file5
   ...

我正在尝试使用 shell 脚本,我要做的是:

for file in `find -name *avi`; do something ; done

我想使用我获取的文件名来find -name *avi获取其父文件夹的路径,即倒数第二个“/”之前的部分。但我不知道如何使用 shell 脚本来实现它,正则表达式可能会有帮助,但我完全不知道怎么做,有人能帮忙吗?

答案1

find -name "*.avi" |
while read -r file; do
    mv -v "$file" "${file%/*/*}"
done

相关内容