di4s
(usa XUbuntu)
Enviado em 02/10/2017 - 16:12h
dpitta escreveu:
Boa tarde.
Preciso fazer um limpa em alguns arquivos antigos de backup.
Meu sistema salva os backups assim:
full-17-09-2017-060001.tar.gz
Onde nesse exemplo
dia = 17
mes = 06
ano = 2017
Hora = 060001 (Sex horas, zero minuto e 1 segundo)
Quero listar por exemplo só os do mês *08*
Estou tentando assim, mas não esta funcionado: ls full-?[-08]*
Oi, tudo bem?
Você está usando
ls full-?[-08]*, ou seja:
liste o que começa com 'full-', tenha um caractere qualquer( ? ), em seguida tenha mais um caractere, sendo que, esse deve ser '-', '0' ou '8' e por último tenha qualquer caractere em qualquer quantidade, inclusive nenhum.
Esse filtro não é o que você precisa, por isso não funcionou...
Como o filtro que você precisa é simples, tente usar apenas o * para as partes que podem mudar...
Tente implementar esse pensamento:
Todos os arquivos de interesse tem 'full-' no inicio então essa parte não pode mudar.
O dia dos arquivos pode mudar porquê você precisa de todos os dias do mês, então use *.
O '-08' está em todos os arquivos de interesse porquê você quer o mês de agosto, então não pode mudar
O ano pode mudar? Se sim use * , senão use '-2017 '
E assim para o restante do filtro...
Linux Professional Institute - LPIC-1
Novell Certified Linux Administrator - CLA
Oracle Certified Associate, Java SE Programmer - OCA
http://twitter.com/p4ulodi4s
http://www.prminformatica.com.br/