我有 30 个文件,需要通过删除每个文件名称中的版本数字来重命名。我尝试过统计、文件、正则表达式过滤器的变体。
例如:
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)
Run Code Online (Sandbox Code Playgroud)
获取文件列表。循环它们并重命名。
假设文件已部署到主机(而不是控制器上):
- 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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1989 次 |
| 最近记录: |