首页 > 解决方案 > 复制/移动不同文件夹中同名的多个文件

问题描述

我在不同文件夹中有多个具有相同名称和扩展名的文件。例如:有 460 个文件夹,每个文件夹有一个名为 snps.vcf 的文件。我想将这些文件复制/移动到一个文件夹中,稍后我会做一些我需要做的分析。

我努力了:

find -type f -name "*.vcf" -exec cp {} /home/AWAN/try';'

但是这段代码会覆盖文件,最后只剩下一个文件。

我试过重命名,但我不知道如何通过 find 命令选择多个文件然后重命名。即使使用 mmv,我也找不到可能的解决方案。

标签: linuxcommandmv

解决方案


您需要编写一个外部脚本并将其传递给-exec. 您的脚本可能使用mktemp生成随机文件名。例子:

mktemp /your/directory/try-XXX

XXX 部分将被 mktemp 替换,每次调用具有不同的值。


推荐阅读