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
-
cd
Isso 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
,png
ougif
. -
\! -path './backup/*'
Omitir arquivos que já estão no diretório de backup.
Note que, enquanto
-regex
espera uma expressão regular como argumento,-path
espera 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.