Troque dois arquivos no bash [duplicado]

1

Como faço para trocar dois arquivos no console do Linux com o mínimo de digitação?

Abordagem enfadonha:

$ mv file1.dat fileX.dat
$ mv file2.dat file1.dat
$ mv fileX.dat file2.dat
    
por Vi. 28.02.2015 / 02:28

1 resposta

-1

@jordanm e @Gilles apontaram que minha outra resposta não era funcional por causa da expansão que eu estava tentando dentro do alias. Pensei nessa resposta e verifiquei que ela funciona como esperado.

Adicione esta função ao seu ~ / .bashrc :

    swap(){
    [ -e $1 ] && [ -e $2 ]
    temp=$(date +%s)
    mv -f $1 $temp
    mv -f $2 $1
    mv -f $temp $2
    }

Em seguida, execute :

source ~/.bashrc

Uso :

swap file1 file2



Nota:
A menos que você planeje executar isso mais de uma vez por segundo, $(date +%s) deve ser um substituto válido para $(mktemp) .

    
por 01.03.2015 / 01:30