将指定文件夹中的所有文件移到一个目录中

时间:2013-01-11 04:40:51

标签: linux bash

我有一个程序将文件解压缩到一系列子文件夹,每个子文件夹都有一个“标题”子文件夹。例如:

/share/Videos/Godfather.Part.1
  /share/Videos/Godfather.Part.1/<packagename>
    /share/Videos/Godfather.Part.1/<packagename>/Godfather.avi
/share/Videos/Godfather.Part.2
  /share/Videos/Godfather.Part.2/<packagename>
    /share/Videos/Godfather.Part.2/<packagename>/Godfather2.avi

我想获取指定文件夹<packagename>中的文件并将它们向上移动一个目录,以便文件结构如下所示:

/share/Videos/Godfather.Part.1
  /share/Videos/Godfather.Part.1/Godfather.avi
/share/Videos/Godfather.Part.2
  /share/Videos/Godfather.Part.2/Godfather2.avi

如何在bash命令行中完成此任务?请注意,这是一个使用2个文件夹的示例,我有100个像这样。

1 个答案:

答案 0 :(得分:2)

分享并享受。

for i in `find . -name "*avi"`
do
    dest=`dirname $i`
    mv $i $dest/..
done