Para localizar todos os arquivos no diretório base com as extensões jpg , jpeg , png ou gif e copiá-los para ~/backup , tente:
cd
find . -regex '.*\(jpg\|jpeg\|png\|gif\)' \! -path './backup/*' -exec echo cp -t backup {} +
Como funciona
-
cdIsso faz com que o diretório inicial,
~/, seja o mesmo do diretório atual,./. -
find .Procure por arquivos no diretório atual
-
-regex '.*\(jpg\|jpeg\|png\|gif\)'Restrinja os resultados a arquivos cujos nomes terminam com
jpg,jpeg,pngougif. -
\! -path './backup/*'Omitir arquivos que já estão no diretório de backup.
Note que, enquanto
-regexespera uma expressão regular como argumento,-pathespera uma glob . Estas são duas formas muito diferentes que obedecem a regras muito diferentes. -
-exec echo cp -t backup {} +Mova os arquivos encontrados para o diretório de backup.