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

时间:2013-06-07 10:09:20

标签: bash shell centos

示例:

文件位于 / source / tmp /

abc-1.0.0-SNAPSHOT.jar
目的地 / destination / webapp /

文件

abc-1.0.0-06062013.jar   

如何编写命令,以便用新文件(来自源代码)替换旧文件(目的地)

  1. 如果存在文件模式abc-1.0.0<any value>.jar,请将目标文件(abc-1.0.0-06062013.jar)替换为源文件(abc-1.0.0-SNAPSHOT.jar)。
  2. 如果目标中不存在文件模式abc-1.0.0<any value>.jar,则不进行更改

2 个答案:

答案 0 :(得分:-1)

使用−−existing选项(http://www.manpagez.com/man/1/rsync/)的用户rsync,它只会发送目标中已存在的文件

答案 1 :(得分:-1)

我找到了解决方法:

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