Usando o comando mv com vários curingas

1

Eu ainda sou relativamente novo no Linux, então vá com calma no noob,

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

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

Eu 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 do American Horror Story para o diretório do AHS. O script funciona, mas se eu baixar qualquer outra coisa com a palavra 'horror', esse arquivo também será movido.

O que eu estou pedindo é possível, ou existe um método diferente que eu deveria estar usando?

    
por Brandon Hood 26.10.2014 / 23:23

1 resposta

0

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 simples padrão como *A*H* pode corresponder aos arquivos desejados.

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

Eu geralmente faço eco do comando prefixando-o com echo ou use ls arquivos de lista correspondentes ao padrão antes de executar o comando real. Isso dá a oportunidade de ajustar o padrão antes de se comprometer com a ação.

    
por 27.10.2014 / 04:37