使用Ansible模块重命名多个文件
我有30个文件,我需要通过删除每个文件名中的版本数字来重命名。我尝试过stat、file、regex过滤器的各种变体 例如:使用Ansible模块重命名多个文件,ansible,Ansible,我有30个文件,我需要通过删除每个文件名中的版本数字来重命名。我尝试过stat、file、regex过滤器的各种变体 例如: rename aa-fileone-war-4.0.60.war to aa-fileone-war.war rename aa-filetwo-war-4.0.62.war to aa-filetwo-war.war rename aa-filethree-war-5.0.60.war to aa-filethree-war.war (30 files) 获取文件列表
rename aa-fileone-war-4.0.60.war to aa-fileone-war.war
rename aa-filetwo-war-4.0.62.war to aa-filetwo-war.war
rename aa-filethree-war-5.0.60.war to aa-filethree-war.war
(30 files)
获取文件列表。在它们上面循环并重命名 假设文件已部署到主机而不是控制器上:
- name: Get a list of files
shell: "ls {{ path_to_files }}/*.war"
changed_when: false
register: results
- name: Rename the files
shell: "mv {{ path_to_files }}/{{ item }} {{ path_to_files }}/{{ item | regex_replace('-?((\d+)\.war)+', '\.war') }}"
with_items: results.stdout_lines
重命名's/-?\d\.+/\./'*.war;为了让我们更好地帮助您,请更新您的问题,使其以一种新的方式显示您的相关代码。