0

问题:

如何将文件从具有相同名称的许多子目录移动到该名称的单个目录。多个名为 X 的目录中的所有文件应一起移动到一个名为 X 的目录中。

示例文件结构:

(真正的结构是 200-300 个目录,我标记为 1、2、3 等级别,下面还有不同数量的目录。)

(请注意,像 Group _ 这样的所有标签都只是--标签。实际名称是不规则的。)

  • 磁盘

    • 1

      • 图书馆
        • 音乐
          • A组
            • 文件
            • 文件
            • 文件
          • B组
            • 文件
            • 文件
            • 文件
    • 2

      • 图书馆
        • 音乐
          • B组
            • 文件
            • 文件
            • 文件
          • C组
            • 文件
            • 文件
            • 文件
    • 3
      • 图书馆
        • 音乐
          • C组
            • 文件
            • 文件
            • 文件
          • D组
            • 文件
            • 文件
            • 文件

目标是将名称为“Group X”的各个子目录中的文件移动到名称为“Group X”的单个目录中,如下所示:

  • 磁盘
    • 1
      • 图书馆
        • 音乐
          • A组
            • 文件
            • 文件
            • 文件
          • B组
            • 文件
            • 文件
            • 文件
            • 文件
            • 文件
            • 文件
          • C组
            • 文件
            • 文件
            • 文件
            • 文件
            • 文件
            • 文件
          • D组
            • 文件
            • 文件
            • 文件

谢谢!

4

1 回答 1

0

你会做这样的事情:

dest="Group A"
find -type f | 
grep $dest | 
while read filename
do     
    echo mv $filename ${dest}/$(basename $filename)
done
于 2013-09-03T04:30:18.523 回答