Bash命令在许多目录中复制和重命名相同的文件名?

o_O*_*o_O 1 bash command-line

如果我有:

Images
    1234
        base.jpg
        small.jpg
    5678
        base.jpg
    9012
        base.jpg
    3456
        base.jpg
        small.jpg
Run Code Online (Sandbox Code Playgroud)

我想运行一个命令来浏览这个目录结构,找到base.jpg并将其复制为small.jpg如果在同一个目录中不存在small.jpg.我有大约1700+ dir与这些图像,我想要任何目录没有一个小的复制和重命名base.jpg.

有什么命令吗?

Tom*_*ech 6

如何使用findexecdir:

find Images -name "base.jpg" -execdir cp -n {} small.jpg \;
Run Code Online (Sandbox Code Playgroud)

这将在Images目录中搜索具有该名称的文件base.jpg.对于找到的每个文件,它会尝试将其复制到small.jpg同一目录中调用的文件中.-n用于cp防止覆盖现有文件的开关.