Siga um arquivo movido para seu diretório de destino

5

Existe uma maneira de mover um arquivo de um diretório para outro e, em seguida, cd para o último em um comando? Algo como mv /a/file /another/dir && cd _ , mas sem digitar na segunda vez o caminho do diretório.

    
por Gerry 03.10.2012 / 21:08

4 respostas

6

Existem algumas funções para mover e copiar arquivos e segui-los para o diretório de destino originado de um tópico sobre as placas do Arch Linux :

# Follow copied and moved files to destination directory
cpf() { cp "$@" && goto "$_"; }
mvf() { mv "$@" && goto "$_"; }
goto() { [ -d "$1" ] && cd "$1" || cd "$(dirname "$1")"; }

Você pode {mover, copiar} e seguir um arquivo emitindo:

mvf file /dest/dir/
    
por 03.10.2012 / 21:59
5

no seu .bashrc :

cpcd() { cp "$1" "$2" && cd "$2"; }

é assim que eu faria

você usaria cpcd como usaria cp

cpcd blah dir/

e ele irá copiar blah para dir e se isso for bem sucedido ele irá mudar os diretórios para dir /

    
por 03.10.2012 / 21:25
3

Você pode fazer isso para a frente:

mv /a/file /another/dir; cd $_

Ou você pode fazer isso de trás para frente:

cd /another/dir; mv /a/file .

Sua chamada.

    
por 04.10.2012 / 16:34
0

Teste esta opção, tente usar o comando verbose mv para extrair o diretório e, em seguida, vá para o.

cd "$(mv -v file directory | grep -o '/.*/')"
    
por 04.10.2012 / 15:55