脚本/终端将类似名称的文件移动到统一文件夹

脚本/终端将类似名称的文件移动到统一文件夹

想知道是否有人可以帮忙..有点菜鸟,我在网上找到了部分答案,但没有具体答案。

我正在使用 OSX 10.11

我有一个包含大量旧艺术品文件的文件夹,我想使用终端或脚本将相似或相同名称的文件放入同名文件夹中。

例如:
文件夹:全部
怪物1
猫的颜色
怪物初赛
女孩的颜色
女孩2
怪物2
猫的草图
怪物的颜色
猫的定稿
怪物的最终稿

最终会像这样:

文件夹:怪物
怪物1
怪物2
怪物初赛
怪物决赛
带颜色的怪物

文件夹:女孩
女孩 彩色
Girl2

文件夹:CAT
猫草图
猫定稿
猫的颜色

答案1

您可以这样做:(
mkdir Monster
mv Monster* Monster/将以“Monster”开头的所有内容移至 Monster/)

然后对不同的文件/文件夹重复相同的命令

答案2

如果我遇到此问题,我会首先通过执行 创建一个带前缀的文件ls -1 | sort > prefixes,编辑前缀文件并手动删除文件名并将其替换为适当的前缀。然后我会使用该文件对所有前缀执行类似 ecstasy 建议的操作。

因此前缀文件首先会读取

Cat colours
Cat finalised
Cat sketch
Cows
Girl coloured
Girl2
Monster 2
Monster Prelims
Monster final
Monster with colours
Monster1

并保存包含

Cat
Girl
Monster

(我添加了一行不能放在子文件夹中的 Cows 命令)然后使用适当的 shell 语法就可以处理它,例如在 zsh 中使用

for h in `cat prefixes`
do
  mkdir $h
  mv $h* $h
done

希望这对你有帮助,鲁德

答案3

谢谢你的建议。我觉得这个方法还是太耗时了。这个文件夹大概有 7k 个文件。

我真正需要的是

• 检查文件夹中所有文件的名称

• 识别多个文件具有相同或相似的名称

例如它将选择 super-hero.jpeg super-hero5.psd 和 super-girl.png

• 然后它将根据这个已识别的重复名称创建一个文件夹

• 将选定的文件移动到所述文件夹

我认为这可能是不可能的,但我会继续尝试。

相关内容