将所有以相同前缀开头的文件放在linux中的文件夹中

时间:2014-02-18 16:32:38

标签: linux file grouping

我在一些旧数据中有不同的文件。

它们位于同一文件夹中。

它们按前缀分组。

我想将所有以相同前缀开头的文件移动到以相同前缀命名的文件夹中。

寻找自动执行此操作的脚本。

编辑1 该脚本必须自行查看有多少前缀然后分组

谢谢

1 个答案:

答案 0 :(得分:0)

作为一个起点,如何ls -1列出所有文件,并通过awk命令获取所有唯一的前缀:

xxx
yyy
zzz
www
...

然后,使用awk命令的输出并循环创建前缀目录并将所有文件移入其中,如@Noufal Ibrahim建议的那样:

mkdir ${prefix} && mv ${prefix}* prefix

我不是awk专家,但是我认为awk脚本会有以下几点:

BEGIN {
    // initialize associative array $x
}

{ $x[prefix($0)] = 1; }

END {
   // foreach key in $x:
       print $key
}