Bash CentOS-用于查找和替换文件名模式(如果存在)的命令

Bash CentOS-用于查找和替换文件名模式(如果存在)的命令,bash,shell,centos,Bash,Shell,Centos,例如: 文件位于/source/tmp/ abc-1.0.0-SNAPSHOT.jar abc-1.0.0-06062013.jar 文件位于目标/destination/webapp/ abc-1.0.0-SNAPSHOT.jar abc-1.0.0-06062013.jar 如何编写命令,以便用新文件(源文件)替换旧文件(目标文件) 如果存在文件模式abc-1.0.0.jar,则将目标文件(abc-1.0.0-06062013.jar)替换为源文件(abc-1.0.0-S

例如:

文件位于/source/tmp/

abc-1.0.0-SNAPSHOT.jar
abc-1.0.0-06062013.jar   
文件位于目标/destination/webapp/

abc-1.0.0-SNAPSHOT.jar
abc-1.0.0-06062013.jar   
如何编写命令,以便用新文件(源文件)替换旧文件(目标文件)

  • 如果存在文件模式
    abc-1.0.0.jar
    ,则将目标文件(
    abc-1.0.0-06062013.jar
    )替换为源文件(
    abc-1.0.0-SNAPSHOT.jar
  • 如果目标中不存在文件模式
    abc-1.0.0.jar
    ,则不进行更改

  • 用户与
    −−现有
    选项(),它将只发送目标上已存在的文件

    我已找到解决方案:

    find /destination/webapp -type f -name 'abc-1.0.0-*.jar' -exec cp /source/tmp/abc-1.0.0-SNAPSHOT.jar {} \
    

    对我相信有人能做到