Mover arquivos somente se o regex baseado em nome de arquivo não corresponder ao arquivo no diretório de destino

0

Melhor explicado por um exemplo:

Dir de origem:

  • arquivo-a-1.txt
  • arquivo-b-1.txt

Dir de destino:

  • arquivo-a-2.txt

Resultado esperado:

  • arquivo-a-2.txt
  • arquivo-b-1.txt

Mova todos os arquivos da pasta src para a pasta de destino apenas se o arquivo for de dir de origem para destino se o destino não tiver um arquivo que corresponda parcialmente ao nome do arquivo.

    
por abaelter 11.07.2016 / 14:29

1 resposta

0

Solução:

  1. Listar arquivos no diretório de destino

  2. Substituir por correspondência de caractere curinga com sed

  3. Pipe para rsync --exclude-from

find target_dir | sed -r 's/\.\/(.+?)-.*/*/' | rsync --verbose --ignore-existing --exclude-from - src_dir/* target_dir

    
por 12.07.2016 / 16:39

Tags