Você precisa reformatar seu comando um pouco para que funcione.
Tente isto:
find "/home/user/videos folder" -name "*.avi" -mtime +7 -exec rm -f {} \;
Ou, no GNU find, para conseguir a mesma coisa sem -exec:
find "/home/user/videos folder" -name "*.avi" -mtime +7 -delete
O primeiro argumento a encontrar é a pasta para procurar - você não deve tentar colocar todo o seu filtro aqui, apenas o ponto de partida. Em seguida, use -name
para informar qual padrão procurar. Você pode tentar isto sem o -exec
ou -delete
primeiro até que esteja satisfeito, então você não fará nenhum dano tentando.
Colocar um argumento entre aspas basicamente impede o shell de mexer nele. Se você usar -name *.avi
, o argumento que find
verá poderá ser qualquer coisa, porque o shell irá analisá-lo (e substituí-lo pelo conteúdo do diretório atual que termina em .avi) antes de chamar find
. Isso geralmente é ruim e leva a resultados inesperados. find
sabe como analisar *
em si.