我想使用Ansible Playbook重命名文件

时间:2020-08-06 09:46:14

标签: ansible

我要重命名的远程服务器中有一个.dsx文件。我有一个Ansible剧本,可从联系获取人工制品,将其压缩,然后将其解压缩到远程服务器。 该解压缩的文件需要重命名。

unarchive:
  remote_src: yes
  src: {{destinationDir}}/{{artefactid}}-{{version}}.tar.gz
  dest: {{destinationDir}}

未存档的文件名是djp-1.0.2-20200805.123-1.dsx 我只想要djp.dsx

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

1 个答案:

答案 0 :(得分:0)

请使用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