A ideia básica é usar o utilitário arquivo para determinar o tipo de cada arquivo e filtrar em arquivos de vídeo.
find /some/directory -type f -exec file -N -i -- {} + |
sed -n 's!: video/[^:]*$!!p'
Isso imprime os nomes de todos os arquivos em /some/directory
e seus subdiretórios recursivamente, cujo tipo MIME é um tipo de vídeo.
O comando file
precisa abrir todos os arquivos, que podem ser lentos. Para acelerar as coisas:
- Restrinja o comando às árvores de diretórios onde ele estiver, como
/tmp
,/var/tmp
e seu diretório pessoal. - Restringir a pesquisa a arquivos cujo tamanho esteja no patamar correto, digamos pelo menos 10 MB.
- Restrinja a pesquisa a arquivos cuja hora de modificação esteja no estádio certo. Observe que o download do arquivo pode ter definido seu tempo de modificação para o tempo de download ou preservado o tempo, dependendo de qual programa você usou para fazer o download (e com quais configurações). Você também pode filtrar o tempo de alteração do inode (ctime), que é a hora em que o arquivo foi modificado pela última vez ou movido (criado, renomeado, etc.) de qualquer forma.
Aqui está um exemplo que limita a hora da modificação a pelo menos 60 dias atrás e o ctime a não mais do que 100 dias atrás.
find /tmp /var/tmp ~ -type f -size +10M \
-mtime +60 -ctime -100 \
-exec file -N -i -- {} + |
sed -n 's!: video/[^:]*$!!p'