Linux:如何将所有文件移动到文件名第一个字符的子文件夹中?

问题描述 投票:0回答:1

我有一个包含数千个文件的文件夹。所有文件名均以字母数字字符开头。我想创建一个文件夹,该文件夹是每个文件的第一个字母(大写),或者如果它以数字开头,则创建一个名为 # 的文件夹。我正在寻找一些命令来执行此操作,我可以在其他文件夹上重复使用该命令。

我研究过使用 find 和 exec,但老实说,我对 Linux 的了解非常有限,所以我无法让它工作。

linux shell
1个回答
0
投票

您可以使用

find
xargs
-exec
,但一个简单的循环就足够了:

for f in *; do
    test -f "$f" || continue; 
    d="${f:0:1}"; 
    mkdir -p "$d" || continue; 
    mv "$f" "$d"; 
done
© www.soinside.com 2019 - 2024. All rights reserved.