1

Я хочу найти и удалить файл журнала на терминале 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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .