我想用ansible playbook重命名一个文件

我想用ansible playbook重命名一个文件,ansible,Ansible,我想重命名远程服务器中的.dsx文件。我有一个ansible playbook,它从nexus获取人工制品,然后将其解压缩到远程服务器。 该解压缩文件需要重命名 unarchive: remote_src: yes src: {{destinationDir}}/{{artefactid}}-{{version}}.tar.gz dest: {{destinationDir}} 未归档的文件名是djp-1.0.2-20200805.123-1.dsx 我只想要djp.dsx 实际上

我想重命名远程服务器中的.dsx文件。我有一个ansible playbook,它从nexus获取人工制品,然后将其解压缩到远程服务器。 该解压缩文件需要重命名

unarchive:
  remote_src: yes
  src: {{destinationDir}}/{{artefactid}}-{{version}}.tar.gz
  dest: {{destinationDir}}
未归档的文件名是djp-1.0.2-20200805.123-1.dsx 我只想要djp.dsx


实际上,我提到的文件名只是一个例子。。每次进行部署时,文件名都会不断更改。您能建议我如何修改move命令吗?

请使用mv命令重命名文件,就像您在终端中重命名文件一样。如评论中所述

1) set_fact to a variable: item.path is the file your want to rename -set_fact: fname: {{ item.path | basename }}. You also have to find the files first.
2) - set_fact: prefix: "{{ fname | regex_replace('(\w+)-.*', '\\1') }}" 
3) - name: Rename file command: mv ./djp-1.0.2-20200805.123-1.dsx ./{{prefix}}.dsx

谢谢你的快速回复。实际上,我提到的文件名只是一个例子。。每次进行部署时,文件名都会不断更改。您能建议我如何修改move命令吗?djp-1.0.2-20200805.123-1.dsx。--源文件名的格式是什么?目标文件名的格式是什么。。。。。?它是否始终采用您在示例中给出的格式?源文件和目标文件始终采用相同的格式,即dsx。唯一会改变的是。。现在文件名是djpSrcUs,另一次可能是djpSrcMax。就这样。我只想删除版本号和其他编号部分以缩短名称。好的,当我说格式时,它是源文件名和目标文件名的模式。我们是否需要获取源文件名的第一个字符并将其用作目标文件名?源文件名总是以3个字母开头,然后-等等,是的。模式总是一样的。