Найти шаблон файла, содержащий дату и время - PullRequest
2 голосов
/ 13 июля 2020

Есть ли шаблон, который я могу использовать при поиске файла, который содержит дату и время. Формат моего файла: file_name.file_extension.processID.YYYY-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~

1 Ответ

0 голосов
/ 13 июля 2020

Вы можете использовать

.*\.\d+\.\d{4}-\d{2}-\d{2}@\d{2}:\d{2}:\d{2}~$

Чтобы проверить это: https://regex101.com/r/8nqFoj/1

  • .* соответствует файлу и расширению файла. Вы также можете выполнить .*\..*, если хотите принудительно file.ext, где это решение также находит файлы без расширения.
  • \. соответствует одной точке
  • \d+ соответствует 1 to n di git, для идентификатора процесса
  • \. соответствует одной точке
  • \d{4}-\d{2}-\d{2} соответствует части даты: ровно 4 цифры, год, затем da sh, затем ровно 2 цифры, месяц, затем da sh, затем ровно 2 цифры, день
  • @ одинарный знак
  • \d{2}:\d{2}:\d{2} соответствует временной части : ровно 2 цифры, часы, затем одно двоеточие, затем ровно 2 цифры, минуты, затем одно двоеточие, затем ровно 2 цифры, секунды
  • ~$ знак тильды, который должен быть последним символ строки, обозначенный знаком доллара ($)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...