Como procurar um arquivo no linux com o mesmo atributo?

1

Eu quero encontrar e excluir o arquivo de log no terminal linux.

Normalmente eu uso isso

find -name '*.log'

depois do arquivo encontrado, em seguida use este script

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

esse script funciona para

filename.log

mas agora eu quero encontrar e excluir arquivos como este

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

Como posso encontrar o arquivo filename.log-12313

Eu quero excluir filename.log- apenas com o número.

Alguém pode consertar isso?

obrigado.

Eu agradeço muito sua resposta.

    
por Uchsun 20.04.2018 / 05:48

1 resposta

0

Você já usa globs; você pode usá-los para qualquer parte do nome do arquivo:

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

Ou se você quiser ser mais específico:

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
    
por 20.04.2018 / 06:30