Como posso fazer várias cópias de uma pasta sem mesclar?

2

Quando duas ou mais pastas com nome idêntico devem ser copiadas ou movidas para o mesmo local, a opção padrão no gerenciador de arquivos da GUI ou no terminal cp -r --backup=numbered ou rsync --backup é mesclar o conteúdo dessas pastas.

Existe algum comando nativo para fazer cópias progressivamente numeradas dos diretórios reais, como por exemplo, folder_copy_1, folder_copy_2 e assim por diante, semelhante ao que acontece no Windows?

    
por springstack25 16.06.2013 / 12:00

1 resposta

2

Assumindo por "nativo" você quer dizer "comumente instalado com o sistema básico", então não, não existe uma ferramenta específica para isso, mas é fácil criar um script próprio.

#!/bin/sh
for f in "$@"; do
    b=$(basename "$f")
    # Grab any numeric suffix
    n=${b##*[!0-9]}
    # Default to 0 if there is no suffix
    case n in *[!0-9]* | '' ) n=0;; esac
    e=$(expr $n + 1)
    cp "$f" "${b%$n}$e"
done

Espero que isso funcione em qualquer shell POSIX razoavelmente recente.

    
por 16.06.2013 / 13:58