как использовать регулярные выражения для удаления файлов с именем как YEAR-MONTH-DAY - PullRequest
0 голосов
/ 13 сентября 2018

Я хочу удалить следующие файлы

-rw-r--r-- 1 root root    51764 Jun 05 01:47 2010-06-03.conf
-rw-r--r-- 1 root root    42751 Jun 05 01:48 2015-06-21-under-test
-rw-r--r-- 1 root root    34627 Jun 05 01:49 2013-03-22_deete
-rw-r--r-- 1 root root    59828 Jun 05 01:51 2012-06-23-ol
-rw-r--r-- 1 root root    33561 Jun 05 01:52 2011-06-22dont-touch
-rw-r--r-- 1 root root    36643 Jun 15 01:53 2011-07-02.3.434.3

поэтому я создаю следующий синтаксис

(чтобы удалить только файлы с именем «год-месяц-день» как 2014-06-02

find .  -regex  "[0-9][0-9][0-9][0-9]-[0-9]-[0-9]*"

Я тоже попробую

find .  -regex  "*[0-9][0-9][0-9][0-9]-[0-9]-[0-9]*"

но файлы не удаляются

где я не прав?

1 Ответ

0 голосов
/ 13 сентября 2018

Вы очень близки:

Вместо:

find .  -name  "*[0-9][0-9][0-9][0-9]-[0-9]-[0-9]*" -delete

используйте:

find .  -name  "*[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]*" -delete
...