Tentei usar o Unity Lens File para pesquisar *.*
e filtrar por Última modificação = Tudo, Tipo = Vídeos e Tamanho = Tudo, mas não encontrei nada, embora eu saiba que existem alguns arquivos .3gp na minha pasta Imagens. Eu sei que tenho vários arquivos de vídeo em outra unidade montada no sistema de arquivos também. Compilei uma lista de extensões prováveis e tentei várias iterações do find
comando utilizando-as com find ./ -name "* .ext" -o (etc, etc, ad nauseum) sem nenhuma sorte. Qual é a solução?
11
Respostas:
Alternativa: pesquisa no arquivo :
ou se você quiser apenas os nomes dos arquivos ...
-N, --no-pad
: Não preencha nomes de arquivos-i, --mime
: Faz com que o comando file produza seqüências de caracteres do tipo MIME, em vez das legíveis por humanos mais tradicionais. Assim, pode dizer 'texto / simples; charset = us-ascii 'em vez de' texto ASCII '. Para que esta opção funcione, o arquivo altera a maneira como lida com os arquivos reconhecidos pelo próprio comando (como muitos dos tipos de arquivos de texto, diretórios etc.) e utiliza um arquivo 'mágico' alternativo. (Veja a seção ARQUIVOS, abaixo).A seção FILES aponta para:
file
é slowwwwwwwwwwwwwwwww (porém, ele abrirá todos os arquivos encontrados e encontra), mas tem a vantagem de que você não precisa adicionar todas essas extensões.Usando localizar:
fonte
Eu imagino que isso poderia ser feito como uma linha única, mas parecia um pouco complicado, então eu criei um script para facilitar o lançamento e a edição e o chamei de isto
findvids.sh
é o que funcionou para mim.Nota: Talvez eu não tenha coberto TODOS os tipos de arquivo de vídeo, mas tenho certeza de que tenho a maioria deles. Uma exceção notável é .mkv, pois é o formato de destino do projeto e não preciso encontrar os arquivos que já foram processados. Deve ser muito simples adicionar formatos adicionais (extensões) ao script para atender às suas necessidades, examinando o padrão e ajustando-o de acordo, mantendo as aspas no início e no final da expressão. Observe que os arquivos que você não tem permissão para ler não serão encontrados.
Editar com base no comentário: A
$
no final dos significa extensão que o termo de pesquisa deve ser encontrada no fim da linha. se quiséssemos corresponder ao início da linha, usaríamos^
antes do termo que pretendemos corresponder. Você pode encontrar essas âncoras explicadas em mais detalhes aqui.Fiz uma comparação de velocidade com o uso do find e os resultados foram:
vs.
Inesperadamente, encontrar é mais rápido. Eu vou estar usando essa abordagem.
Editar: mais testes indicam que a localização foi mais rápida em uma máquina diferente. Acho que meus resultados iniciais de teste de velocidade foram ruins devido ao cache.
Fontes:
man find
man grep
/programming/7190565/unix-find-multiple-file-types
fonte
touch hello.mp4
não cria um arquivo de vídeo>: - D e você pode alterá-lolocate
para acelerar.touch
No entanto, como isso não foi feito neste sistema, não é realmente relevante neste caso. No que diz respeito à localização, eu teria que executarupdatedb
antes para ter dados atuais, não?