Usando o comando mv com vários curingas

Usando o comando mv com vários curingas

Ainda sou relativamente novo no Linux, então vá com calma para um novato, hein?

Tenho scripts configurados para mover arquivos de mídia para um diretório específico com base em seu nome. Usei um curinga para fazer isso, mas preciso torná-lo mais específico para que mova exatamente o que eu quero.

Exemplo:mv /home/user/Downloads/*Horror* /home/user/Downloads/transmission/completed/Series/AHS/

Preciso saber se é possível incluir vários curingas em um único comando de movimento. No exemplo anterior, quero que o script mova todos os episódios de American Horror Story para o diretório AHS. O script funciona, mas se eu baixar qualquer outra coisa que contenha a palavra 'horror', esse arquivo também será movido.

O que estou perguntando é possível ou existe um método diferente que eu deveria usar?

Responder1

Tente usar um curinga como *American*Horror*. Você também pode ter curingas adicionais no caminho de origem, como /usr/home/D*/*American*Horror*. Dependendo do que está no seu diretório de downloads, um padrão simples como *A*H*pode corresponder aos arquivos desejados.

Você pode usar correspondência de padrões, como *[aA]merican*[hH]orror*.

Geralmente eu repito o comando prefixando-o com echoou uso lsarquivos de lista que correspondem ao padrão antes de executar o comando real. Isso dá a oportunidade de ajustar o padrão antes de iniciar a ação.

informação relacionada