Como posso copiar um arquivo e colá-lo como um nome diferente?

1

Eu tenho um arquivo test.txt no diretório A/B . Quero copiar test.txt para A/C e renomeá-lo para newtest.txt .

Eu sei que posso usar os comandos cp e mv para fazer isso, mas o problema é que já existe um test.txt em A/C e já há um newtest.txt em A/B e Eu não quero sobrescrever nenhum desses arquivos.

Eu sei que tecnicamente posso fazer o que eu quero com mv test.txt ./verynewtest.txt && cp verynewtest.txt ../C && mv verynewtest.txt test.txt && cd ../C && mv verynewtest.txt newtest.txt , mas isso parece muito longo.

Existe uma maneira mais rápida / melhor de fazer isso?

    
por Pro Q 19.06.2018 / 16:54

2 respostas

4

Apenas faça

$ cd A/B
$ cp test.txt ../C/newtest.txt

Use

$ cp -i test.txt ../C/newtest.txt

para verificar se ../C/newtest.txt (ou seja, A/C/newtest.txt ) já existe e pedir confirmação. (Eu quase nunca deliberadamente sobrescrevo arquivos, então eu alias cp to cp -i para obter essa proteção toda vez que eu faço cp . Mas também é prudente ter cuidado para não estragar arquivos você não quer bater, e não confiar em aliases para salvá-lo.)

    
por 19.06.2018 / 17:00
3

Você tem

.
'-- A
    |-- B
    |   |-- newtest.txt
    |   '-- test.txt
    '-- C
        '-- test.txt

E você quer

.
'-- A
    |-- B
    |   |-- newtest.txt
    |   '-- test.txt
    '-- C
        |-- newtest.txt
        '-- test.txt

Em que A/C/newtest.txt é uma cópia de A/B/test.txt .

O comando

cp A/B/test.txt A/C/newtest.txt

faria isso.

    
por 19.06.2018 / 17:00