对包含文件的目录进行排序并将其移动到子目录中

对包含文件的目录进行排序并将其移动到子目录中

我使用的是基于 Ubuntu 18.04 的 Linux Mint 19.3 Cinnamon。
(我希望我没有因为这个信息而“在教堂里咒骂”……!但它的功能与 Ubuntu 18.04 有 95% 相同)。

尝试将文件夹中的文件移动到按字母顺序命名的子目录中。仅基于首字母。根据文件上存在的名称的首字母或不考虑子文件夹字母是否作为文件存在,生成一个字符长度、一个级别的子文件夹名称。
(空子文件夹没有问题)。

以数字或其他字符开头的文件可以放入以“ # ”命名的文件夹。
或者以数字(如字母)开头的文件夹。

已请求 BASH 代码!

答案1

如果你需要一些简单的东西,我会从类似这样的东西开始:

cd <yourdir>
for f in *; do
  if [ -f "$f" ]; then
    mkdir -p "${f:0:1}"
    mv "$f" "${f:0:1}"
  fi
done
cd -

进入你的目录,查看该目录中的所有内容:

  • 你测试它是否是一个普通文件(而不是目录或其他东西),
  • 创建一个以文件名第一个字符命名的子目录(mkdir -p → 如果已经存在则不会出错)
  • 移动子目录中的文件

最后回到之前所在的目录 (cd -)

相关内容