bash - copiando vários arquivos com o mesmo nome

2

Eu gostaria de copiar arquivos que estão com o mesmo nome, mas em pastas diferentes, para serem desfeitos. A questão é sobre não sobrescrevê-los no destino.

Basicamente isso pode ser suficiente, embora eu não tenha idéia de como renomear cada arquivo. Por enquanto, todos eles são sobrescritos:

$ cp /src/folder/*/file ~/dest/*

    
por linearSpin 22.06.2018 / 23:56

2 respostas

2

Aqui está um método:

cd /src/folder
for f in */file; do
    cp -v "$f" ~/dest/"${f//\//_}"
done

que copiará /src/folder/foobar/file para ~/dest/foobar_file , que deve ser exclusivo

    
por 23.06.2018 / 00:19
3

Você pode ver se a opção --backup de cp está disponível (acredito que não esteja no MacOS, mas posso estar errado):

 cp --backup=t /src/folder/*/file /dest

irá criar file.jpg. ~ 1 ~, file.jpg. ~ 2 ~ e assim por diante.

    
por 23.06.2018 / 00:18

Tags