Как искать файл на Linux с как Atribut?

233
Uchsun

Я хочу найти и удалить файл журнала на терминале Linux.

Обычно я использую это

find -name '* .log'

после того, как файл найден, используйте этот скрипт

find -name '* .log' -type f -delete

этот скрипт работает для

filename.log

но теперь я хочу найти и удалить файл, как это

mysqld.log-20180208 mysqld.log-20180223 mysqld.log-20180310 mysqld.log-20180325 mysqld.log-20180409 mysqld.log-20180123.xz mysqld.log-20180209 mysqld.log-20180224 mysqld.log-20180311 mysqld.log-20180326 mysqld.log-20180410 mysqld.log-20180124.xz mysqld.log-20180210 mysqld.log-20180225 mysqld.log-20180312 mysqld.log-20180327 mysqld.log-20180411 mysqld.log-20180125.xz mysqld.log-20180211 mysqld.log-20180226 mysqld.log-20180313 

Как я могу найти filename.log-12313

Я хочу удалить filename.log- только с номером.

Кто-нибудь может это исправить?

Благодарю.

Я очень ценю ваш ответ.

1

1 ответ на вопрос

0
l0b0

Вы уже используете шарики; Вы можете использовать их для любой части имени файла:

find -name '*.log*' -type f -delete 

Или, если вы хотите быть более конкретным:

find \( -name '*.log' -o -name '*.log-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]' -o -name '*.log-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9].xz' \) -type f -delete 
он может использовать, кроме, например: кроме имени файла.log, Uchsun 5 лет назад 0
Да, будут вопросы об этом здесь или в unix.SE. l0b0 5 лет назад 0

Похожие вопросы