linux - 从各种文件夹中获取所有文件并使用唯一名称复制它们

标签 linux bash

目前正在使用此命令从我的电视文件夹中获取我所有的“同人画”,并将其转储到一个文件夹中。

find /volume1/tv/ -type f \( -name '*fanart.jpg'* -o -path '*/fanart/*.jpg' -o -path '*/extrafanart/*.jpg' \) -exec cp {} /volume1/tv/_FANART \;

问题是:这些文件中有很多同名,无法转储到同一个文件夹中。示例:

  • 文件夹A
    • 同人图.jpg
  • 文件夹B
    • 同人图.jpg

有没有办法从它们各自的文件夹中复制这些文件,并在目标文件夹中为它们指定一个唯一的名称?名称不必是任何描述性的,随机的就可以了。

谢谢!

最佳答案

find /volume1/tv/ -type f \( -name '*fanart.jpg'* -o -path '*/fanart/*.jpg' -o -path '*/extrafanart/*.jpg' \) -exec cp --backup=numbered  {} /volume1/tv/_FANART \;

..

cp --backup=numbered  {}

如果文件存在,这将不会覆盖,而是使用指定的编号进行备份。

文件将被隐藏。 Ctrl+H查看隐藏文件

关于linux - 从各种文件夹中获取所有文件并使用唯一名称复制它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28517651/

相关文章:

c - 编写 linux 守护进程

c++ - 程序未运行输入文件

bash - Bash测试运算符[[…-eq…]]中的错误或功能?

bash - 使 sed 就地替换文件中的文本,并在屏幕上显示替换的行

bash - 无法将添加了 PNG 图像的特定提交推送到 github

java - batik-rasterizer.jar - 将 svg 转换为 png

python - 如何编写 IPython shell 的包装器?

php - 使用 SWFupload 或 Uploadify 时,是否需要编辑 php.ini 设置?

linux - 流水线化 stderr 时如何使行缓冲工作?

linux - 通过 bash 更改特定文件夹中的文件名