Ansible 查找包含日期和时间戳的文件模式
在查找包含日期和时间戳的文件时,是否有一种模式可供使用。我的文件的格式是Ansible 查找包含日期和时间戳的文件模式,ansible,Ansible,在查找包含日期和时间戳的文件时,是否有一种模式可供使用。我的文件的格式是file\u name.file\u extension.processID.yyy-MM-DD@HH:MM:SS~ 我的变量 findFile - "home/usr/file1" - "home/usr/file2" - "home/usr/file3/file4" - "home/usr/file5" 我的剧本角色 - n
file\u name.file\u extension.processID.yyy-MM-DD@HH:MM:SS~
我的变量
findFile
- "home/usr/file1"
- "home/usr/file2"
- "home/usr/file3/file4"
- "home/usr/file5"
我的剧本角色
- name: Find files
find:
paths: "{{ item }}"
patterns:
- '*.*.*.*.*@*~'
age: 30d
recurse: yes
register: fileList
loop: "{{ findFile }}"
- name: Delete files
file:
path: "{{ item.path }}"
state: absent
loop: "{{ fileList.files }}"
这是示例文件和目录
home
|-------usr
|-------file1
|-------configFile.xml
|-------file2
|-------propertiesFile.txt.2012.2020-07-13@23:08:10~
|-------file3
|-------file4
|-------content.yml.2012.2020-04-04@23:08:10~
|-------file5
|-------configFile.xml.2012.2020-03-05@13:08:10~
你可以用
*\.\d+\.\d{4}-\d{2}-\d{2}@\d{2}:\d{2}:\d{2}~$
要测试它,请执行以下操作:
匹配文件和文件扩展名。如果要强制执行*
,也可以执行文件.ext
,该解决方案还可以在其中查找不带扩展名的文件*\..*
匹配单个点\。
为进程ID匹配1到n个数字\d+
匹配单个点\。
匹配日期部分:正好4位数字,年份,然后是破折号,然后正好2位数字,月份,然后是破折号,然后正好2位数字,日期\d{4}-\d{2}-\d{2}
单个at标志@
匹配时间部分:正好两位数字,小时,然后一个冒号,然后正好两位数字,分钟,然后一个冒号,然后正好两位数字,秒\d{2}:\d{2}:\d{2}
应为字符串最后一个字符的波浪号,如美元符号(~$
)所示$