Eu tenho milhões de arquivos com a seguinte nomenclatura em uma máquina Linux:
1559704165_a1ac6f55fef555ee.jpg
Os 10 primeiros dígitos são de data e hora e os seguidos de a _são IDs específicos. Quero mover todos os arquivos correspondentes a IDs específicos de nome de arquivo para uma pasta diferente.
Eu tentei isso no diretório com arquivos
find . -maxdepth 1 -type f | ??????????_a1ac*.jpg |xargs mv -t "/home/ubuntu/ntest"
No entanto, estou recebendo um erro indicando:
bash 1559704165_a1ac6f55fef555ee.jpg: command not found
Quando tentei, mv ??????????_a1ac*.jpg estou recebendo um erro muito longo da lista de argumentos. Eu tenho pelo menos 15 padrões de nome de arquivo diferentes. Como eu os movo.
| ??????????_a1ac*.jpg:: bash o expande para vários nomes de arquivo, o primeiro é1559704165_a1ac6f55fef555ee.jpg, e você acaba , em que fase 2a tubo, tentando executar:1559704165_a1ac6f55fef555ee.jpg next_matching_filename 3rd_matching_filename ... nth_matching_filenameEu acho que você tentou em vez disso. filtro para que filename (ver respostas abaixo para isso)