Use o comando find :
find /path/to/ -name '*.avi' -type f -size -100M -delete
Detalhes:
-
/path/to/Isso diz ao find para procurar por arquivos no diretório
/path/to/e em todos os seus subdiretórios. Se você quiser iniciar a partir do diretório atual, use.. -
-name '*.avi'Isso diz ao
findpara procurar apenas os arquivos cujos nomes terminam em.avi -
-type fIsso diz ao
findpara procurar apenas por arquivos regulares. Isso exclui diretórios, pipes, soquetes, etc. -
-size -100MIsso diz ao
findpara procurar apenas por arquivos menores que 100MB. Se você quiser excluir arquivos maiores que 100 MB, use+100M. -
-deleteIsso diz a
findpara excluir os arquivos que correspondem aos critérios acima.
Por segurança, na primeira vez que você tentar este comando, deixe o -delete . Isso retornará uma lista de arquivos encontrados:
find /path/to/ -name '*.avi' -type f -size -100M
Se os arquivos encontrados forem os que você deseja excluir, adicione de volta -delete .
Pesquisando apenas o diretório atual e não seus subdiretórios
Para limitar a busca de recursão em subdiretórios, use a opção -maxdepth :
find /path/to/ -maxdepth 1 -name '*.avi' -type f -size -100M -delete
Para executar o acima no diretório atual:
find . -maxdepth 1 -name '*.avi' -type f -size -100M -delete