Copiando apenas arquivos sem uma string especial no nome do arquivo

2

Eu tenho que copiar apenas arquivos de uma pasta que não tem seguinte seqüência em seu nome de arquivo: NNNNxNNNN (um número de 3 ou 4 dígitos seguido pelo caractere x seguido por um número de 3 ou 4 dígitos novamente - & gt; é a resolução de um imagem no nome do arquivo)

Estou tentando cerca de uma hora com o comando "find", mas ele nunca faz o que deve fazer.

Chris
fonte

Respostas:

1

Como find 's -name não suporta expressões regulares, você terá que definir explicitamente os quatro casos

find /source/ \
    -not -name '*[0-9][0-9][0-9]x[0-9][0-9][0-9]*'           -and \
    -not -name '*[0-9][0-9][0-9][0-9]x[0-9][0-9][0-9]*'      -and \
    -not -name '*[0-9][0-9][0-9]x[0-9][0-9][0-9][0-9]*'      -and \
    -not -name '*[0-9][0-9][0-9][0-9]x[0-9][0-9][0-9][0-9]*' \
    -exec cp {} /destination/ \;
Matteo
fonte