将“n”个文件移动到ubuntu中的命令行或bash的特定文件夹中

时间:2016-04-20 22:52:06

标签: bash ubuntu command-line

我在一个文件夹中有多个文件。每个文件都有不同的名称,并有不同的扩展名我需要一种方法将每个文件移动到名为Archive_1,Archive_2,Archive_n等文件夹中。 这与文件的顺序无关,但每个文件夹需要一个文件。

我正在寻找类似于按名称排序文件的内容,并根据该内容将第一个文件移至Archive_1,然后将第二个文件移至Archive_2,等等。无法找到它。

任何帮助?

1 个答案:

答案 0 :(得分:1)

假设所有文件都在 PWD 中,您可以执行:

i=0
for f in ./*; do
    new_dir=Movie_$((++i))
    mkdir -p "$new_dir"
    mv "$f" "$new_dir"
done

测试(我用上面的命令创建了一个名为 sof 的脚本):

$ touch a b c
$ ./sof
$ tree
.
├── Movie_1
│   └── a
├── Movie_2
│   └── b
└── Movie_3
    └── c

3 directories, 3 files